a bunch of small fixes and refactorings

When running AnnDocuGen on a real codebase, some deficiencies were discovered
and some refactorings became necessary. So this commit does:

1. Stop documenting unit classes if they are abstract, unless the abstract
   unit class is referred to.
2. Add a name of the AnnDocuGen tool to the <title> of generated HTML pages.
3. Generalize FieldInitializerDiscovery to CompilerBridge, because there is
   one more thing that requires access to the compiler: figuring out if source
   code for particular class is available. If it isn't, the class shouldn't
   be documented (this replaces the vague check in EncounteredClass).
4. Stop referring to classes by name if they can be imported and referred to
   by a class literal.
5. Extract a method for creating an output file.
6. Rename some methods.
yet another fix related to annotation processor lifecycle

When additional classes are encountered, they must be documented during
the same round of annotation processing. This was deferred to the last round,
but the source code of the additional classes is not available that late.
It's only available in the original round when they were encountered.