Allow postgresql enum_test to be run in random order.

Creating and dropping similar tables within the same connection causes postgresql to look up old values in the cache of tables which have already been dropped.
Merge pull request #14550 from tgxworld/fix_failing_enum_test_random_order

Allow postgresql enum_test to be run in random order.
cleanup, `reset_pg_session` in range_test.rb

Also do not use transactional fixtures. We drop the type and the
table after every run, so there is nothing for the transaction to clean up.
CollectionProxy uses the arel of its association's scope.

CollectionProxy should be able to reuse the behavior (methods) of its parent class,
but with its own state. This change allows CollectionProxy to use the arel object
corresponding to its association's scope.