Added support for multiple decoded types for binary values, depending on subtype.  Required the introduction of a new interface, BinaryTransformer.  Refactored Binary and UUID codecs to fit into the new framework