Merge pull request #15198 from sgrif/sg-delegate-type-cast-mysql

Delegate type_cast to injected type object in mysql
Use general types for mysql fields
Replace `type_cast` case statement with delegation

All subclasses of column were now delegating `type_cast` to their
injected type object. We can remove the overriding methods, and
generalize it on the `Column` class itself. This also enabled us to
remove several column classes completely, as they no longer had any
meaningful behavior of their own.
Merge pull request #15199 from sgrif/sg-types-mysql

Use general types for mysql fields
fix multiple hash preloads.  Fixes #14994
Merge pull request #15201 from sgrif/sg-types-postgresql

Have Postgres OID types inherit from general types
make the each visitor top-down left-right
prepopulate the dispatch cache so we don't need the ThreadSafe cache.
Merge pull request #15187 from v-yarotsky/fix_confusing_delegation_exception

Fix confusing exception in ActiveSupport delegation
Merge pull request #15203 from sgrif/sg-delegate-type-cast

Replace `type_cast` case statement with delegation
Merge pull request #15191 from camsong/master

Distinguish rake assets:clobber from rake assets:clean

[ci skip]
Use the generic type map object for mysql field lookups
Merge pull request #15200 from sgrif/sg-type-map-mysql

Use the generic type map object for mysql field lookups
translate AST to a formatter before url generation
cache the formatter on the path object
remove dead code
Delegate predicate methods to injected type object on Column
Use the generic type map for PostgreSQL OID registrations
Merge pull request #15204 from sgrif/sg-delegate-predicates

Delegate predicate methods to injected type object on Column
Merge pull request #15206 from sgrif/sg-type-map-postgresql

Use the generic type map for PostgreSQL OID registrations