adds support for unmarshalling from a map
Adds unmarshallers

* for string or array
* for schema or array
* for schema