Version 1.0.3 released

This release adds a new property type choice which allows to define an schema
property which allows different kind of objects. Also the handling for incoming
and outgoing data was unified. In the following the changelog

Added new ChoiceType property which allows different kinds of objects as value

Property which allows different kind of complex types. It uses the JsonSchema "oneOf" and
XSD "choice" element to generate the fitting schema definition.

Use same logic for traversing incoming and outgoing data

For parsing incoming and outgoing data we had in some places the same code
which essentially goes recursively through an schema and makes an specific
action on an value. We have created a schema traverser class which unifies
this traversing through the schema. It is possible to add visitor classes
which can act on the values.

Moved schema property methods assimilate and validate into seperate class

Because of the traversing class we could remove the assimilate and validate methods
from each property and add proper visitor implementations.

Improved record factory factory class which uses now the object build to get arbitrary dependencies

Inside an record factory it is now possible to define dependencies through an
@Inject annotation.