Rewrite of the model generation from scratch

- Refactored to remove repetitive code
- Added Enum Support
- Fixed Arrays and Generic Lists Sets model inference
- Externalized the schema provider
- The models now respect serialization/deserialization rules of jackson
- Fixed tests after massive refactoring to include jackson based serialization configs
- Fixed the annotation filter from not overwriting inferred models

fixes #48
fixes #56