abdt_naming: refactor, start moving to class

Pave the way for more refactoring by starting to move naming logic
inside a new class 'ClassicNaming'.  Use exceptions to communicate
naming issues instead of returning None.

Test Plan:
$ ./precommit.sh
$ ./testbed/arcyd/acceptance_tests.sh