Make dagger-compiler use a reflection-only flavour of Dagger internally and refactor the processor code.

The use of dagger is mostly illustrative, as it doesn't save a lot of code here, but does let us do a few nice things with error reporting, tests dagger itself, and makes it easier to separate out code.  This also rationalizes the ModuleAdapterGenerator with the InjectAdapterGenerator, creating a ModuleType to carry the information along in a similar way, and moves adapter name generation and other facilities into the holder type
Adapt more of the refactor to the changes that fixed #322