Update Test::Unit to Minitest

Previous was misleading; current is more up to date.

[ci skip]
Mention the fast `test_sqlite3_mem` option in `RUNNING_UNIT_TESTS.rdoc` [ci skip]
Add :nodoc: to ActiveModel::SecurePassword.min_cost

[ci skip]
Refactoring Generators::Base.

The defaults hash isn't used unless the +class_options+ hash has a
particular key, so we don't need to compute it unless this is true.

Also moving some code for extracting a module into its own method.
only call to_a when we have to
extract owner id calculation to a method
avoid extra empty array allocation
remove extra flat_map array
no need to to_a the scope
correctly typecast keys, remove conditionals, reduce object allocations
Test that PostgreSQL adapter includes `usec` when quoting `DateTime`
Port all remaining self.protected_instance_variables to class methods
pk should not be required for hm:t associations
make sure there are actually some categories when running the test
Remove not necessary AR changelog entry, fix markup [ci skip]
Stop messing up with instance variables, use protected as it was meant for
Fix broken link to Fixtures documentation on guides
and activerecord tests

[ci skip]
Fix typo in generators test helpr -> helper [ci skip]
fix typo subclassed => subclasses [ci skip]
Revert " add 'clear' and 'byteslice'  as an unsafe string methods"

This reverts commit e1b60eab32ed804668209e6fc73df906a72650fb.