Coercion based on custom type maps (aka getObject(idx, map))

• Composite types are always deserialized as HashMaps and coerced during getObject call
• setObject enforces required custom type maps
• SQLTypeUtils has new methods to coerce HashMaps to custom Java classes
Support get/set Array types
Merge branch 'feature/delayed-deserialization' into develop