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.