Implement JSON-B 3 Polymorphism (#100)

* Implement JSON-B 3 polymorphism (WIP)
* Implement more JSON-B 3 polymorphism validations
* JSON-B 3 polymorphism tests
* Allow JsonbSubtype for type=annotated type
* MapperBuilder#setPolymorphismHandler javadoc
* use JsonbRule in tests
* Allow custom Mappings to be used
* Implement JsonbMappings for polymorphism
* create Mappings via Function instead of using reflection
* use Meta.getAnnotation instead of Class.getAnnotation
* restore old ClassMapping constructor for better backwards compatibility
* update docs on jsonb-extras polymorphism
* restore MapperConfig constructor
* cache JsonbTypeInfos to avoid reflections
16 files changed