Simplify complex code in databases.rake
db:fixtures:{identify,load} tasks respect AR::Tasks::DatabaseTasks.root

Before this commit, if `ENV['FIXTURES_PATH']` was set, then `Rails.root`
was used, otherwise the app used `ActiveRecord::Tasks::DatabaseTasks.root`.

Now it is consistent.
Get rid of duplication in db:fixtures:{identify,load}
Replace a bit of cryptic code in fixtures:load rake task with plain stupid Ruby
Extract `fixture_files` variable in fixtures:load rake task
db:fixtures:load refactoring: remove unnecessary loop

`ActiveRecord::FixtureSet.create_fixtures` can accept an array of
fixture_files.
Replace String index juggling with Pathname goodness in db:fixtures:load
Add explaining variables to db:migrate:status
Use Array#flat_map and Array#grep in db:migrate:status task

It allows the code to be more declarative and elegant.
db:migrate:status refactoring: Rewrite hand-crafted SQL query with ActiveRecord#pluck
Add a test for db:migrate:status to check missing file scenario
Extract AR::SchemaMigration.normalized_versions method
Use AR::SchemaMigration.table_exists? call instead of longish AR::Base...etc,etc
Merge pull request #15940 from DNNX/databases-rake-refactoring

databases.rake refactoring