Better support for ResultSetMetaData & numerous enhancements to support it

• Added "Modifier Parser" proc mappings for parsing a type's modifiers (almost exactly like i/o parsers). All current types that use modifiers have implementations.
• Precision & Scale of ResultSetMetaData should now returned correctly for types that have them
• CatalogName & SchemaName (if available) are now correctly reported
• IsCaseSenstive uses the Type.Category to determine its answer (Strings and Enums are)
• isNullable now handles domain types
• Type class now has an "unwrap" method to get the truly base type of a given type (i.e. no arrays, domains, etc)
• Registry allows types to be loaded by their associated relationId (although we store no other "pg_class" information)
• Catch and report errors in the simple utility methods of BasicContext (e.g. execQuery)
ResultSetMetaData support for SQL Type and DisplaySize

• Encoders and Decoders now report the SQL type they encode or decode
• DomainTypes now load their type modifier
• PgTypes load domain specific properties