Extend the set of types that can be used in fields of relations and schemas that are discovered via reflection. For relations, allow iterables (including collections and lists), enumerables, and arrays including primitive arrays. If a schema field is not one of these types, just ignore it.

Factor tests concerned with reflective schemas from JdbcTest into new ReflectiveSchemaTest.

Allow table fields of type java.util.Date (maps to TIMESTAMP), and java.sql.{Date,Time,Timestamp}. The internal representation of DATE and TIME is still int, and of TIMESTAMP is still long, but we can read from these object types also. To do this, we add "internalClass" field to ColumnMetaData.