Add support for NSValueTransformers in SDDataMap.

The `sdmo_transformed_key` macro is now available for use in data maps. It
accepts the same argument as `sdmo_key` along with an additional argument to
indicate the name of the value transformer that should be used. Using a value
transformer will preempt any cascaded mapping that might happen based on the
property type, including coercions from null. The value transformer is fully
responsible for any data conversions of the source data into destination data.

Example uses of this can be to use a value transformer that converts from
string descriptions to an enum, or to convert string URLS in NSURL instances,
or simply to invert a boolean value to match how the model prefers to store a
flag (e.g. service sends visible: YES but model wants hidden: NO).