Adding Back Rails::Engine::Railties#engines

Removing it breaks functionality with gems such as Thinking Sphinx.
This restores it with a deprecation warning. Closes #8551
Missing repair_validations
Reset table_name_{prefix,suffix}, and table_name after each test

because some tests were not resetting them, and thus the tests were order dependent
Ignore "SHOW search_path" when counting PostgreSQL queries
Be sure to clear schema cache
Ignore schema queries on SQLite 3 as well
Preload some join table schemas
Make sure to reset default_url_options
Restore I18n.locale after running tests
Reset SchemaMigration after updating
Just ignore all PRAGMA queries
Merge branch 'isolating_tests'

Now we're almost ready to remove this: https://github.com/rails/rails/blob/5294ad8/activesupport/lib/active_support/test_case.rb#L29
Merge pull request #8557 from timraymond/add_back_engines_and_deprecate

Adding Back Rails::Engine::Railties#engines

Conflicts:
	railties/CHANGELOG.md
Integrate Action Pack with rack 1.5 / master

All ActionPack and Railties tests are passing.

[Carlos Antonio da Silva + Santiago Pastorino]
Remove Session::Options in favor of setting the options into env directly

[Carlos Antonio da Silva + Santiago Pastorino]
Session now inherits from Rack::Session::Abstract::SessionHash

[Carlos Antonio da Silva + Santiago Pastorino]
Leave Session.create responsibility to the SessionStore

[Carlos Antonio da Silva + Santiago Pastorino]