bug12899 in my repository has a preliminary branch, which should get rid of the entire Naming system inside the dirauth but not yet switch to a bad-relays file. I'm currently testing it on gabelmoo, we'll see how it goes.
Does dirserv_add_own_fingerprint do anything now? Right now, add_fingerprint_to_dir() with a 0 status seems equivalent to having no entry at all for a router.
dirserv_add_own_fingerprint does the initialization of the fingerprint_list, and Tor segfaults if you don't call it. It gets removed a couple of commits down the line, tho.
Yes, NamingAuthoritativeDir should be obsolete. I forgot to remove it, apparently. Fixup-patch in branch bug12899.