#585 Handle missing properties on target object during mapping.

Mapping rules are as such:
1) If from property doesn't exist: Do nothing
2) If both from property and to property is an object property, recurse into this property (using the same map)
3) If using map, and the map supports this property, call into this map (note that the target property does not exist, and the map is responsible for any recursive behaviour on the source)
4) If the target property exists: Try to map it using normal converter behavior.

(Note that the mappedProperties return value still doesn't distinguish between properties on different levels, say data = { prop: 1, nested: { prop: 2 }} )