80% implementation of DatabaseMetaData

• DatabaseMetaData is missing a few implementation that return result sets
• Moved all meta data calculation to a shared file
• Made all PSQL* classes package private
• Fixed setObject/getObject coercion to/from primitives and null
• Allow statements to manufacture result sets manually
• Command now send Sync before starting (if they can) so recover from previous errors
• Fix problems with CompositeType and dropped columns
• Added PrimitiveType that tracks PostreSQL's native types
• DomainTypes are correctly factored in meta-data information