Move types to the top level `ActiveRecord` namespace

`ActiveRecord::ConnectionAdapters::Type::Value` =>
`ActiveRecord::Type::Value`
Merge pull request #15370 from sgrif/sg-type-namespace

Move types to the top level `ActiveRecord` namespace
Ensure custom properties work correctly with inheritance
Merge pull request #15389 from sgrif/sg-property-inheritance

Ensure custom properties work correctly with inheritance
Maintain column order when overriding existing columns

Working towards re-implementing serialized attributes to use the
properties API exposed the need for this, as serializing a column
shouldn't change the order of the columns.
Merge pull request #15390 from sgrif/sg-property-order

Maintain column order when overriding existing columns
Keep  closer to other methods that touch @transaction
Merge pull request #15392 from arthurnn/move_open_transactions

Keep  closer to other methods that touch @transaction