Refactoring spring configuration classes to match new modular approach
* Refactoring spring configuration classes to match new modular approach
* Pulling classes in to different modules to reduce efferent coupling
* Tweeking generics on APIs
* Fixing generics and associated compiler warnings
* Fixed warnings from google.reflections by exluding offending file type "jnilib"
Fixing some inspection issues, e.g spelling, declaration redundancy