TableIdentifier now tracks a database type

The type is required before making the database command. Since the type
can't be retrieved from the database (SQLite's limited type system and
emulating types by serializing), the type has to be provided by the
program. This isn't a problem for bindings because the type is already
known, but it is a slight inconvenience for custom commands.
Added field types property