don't force supplying a non-nil nserror when creating a model
loop over the declared properties instead of incoming keys, use keyPath to refer to incoming JSON and property for the property name
implement key paths for the key mapper
added key paths to toDictionary to be used with key path key mappers
fixed keyPath handling for Optional properties
added unit test for key path key mapper