Update AutoFactory to the new API, and add tests and implementation for some of our agreed upon usecases 

This exchanges integration tests for simple JUnit tests that compare the results of the processor with expected, hand-coded factories.  This processor implements the simple use case of the annotation on a concrete type with a bit of framework for adding the rest of the behavior.