Run ActiveModel test suites in random order.

This gets the whole ActiveModel test suites working even if
`self.i_suck_and_my_tests_are_order_dependent!` is disabled
in `ActiveSupport::TestCase`.

`BCrypt::Engine.cost` needs to be reset to nil or default,
otherwise changes to cost made in other tests will be carried
over and result in failure when expecting `Bcrypt::Engine::DEFAULT`.