Remove unnecessary require from active_support/inflector/methods.rb

`active_support/inflections` already requires
`active_support/inflector/inflections`. There's no need to require it in
`active_support/inflector/methods`.
change to destructive `deep_symbolize_keys` after https://github.com/rails/rails/commit/df24b8790f22384a068fece7042f04ffd2fcb33e which allows to do so. This helps to avoid extra hash object creation, by symbolizing inplace
make "rails dbconsole" work with activerecord-postgis-adapter
Compare with the parsed result from REXML backend
Add test for AR::CounterCache.update_counters
Refactor AR's counter_cache_test.rb test
HashWithIndifferentAccess#select working as intended

Before this commit, #reject returned a HashWithIndifferentAccess,
whereas #select returned a Hash. Now #select also returns a
HashWithIndifferentAccess.
Use Range#cover? for Numeric ranges (tests via endpoints) and use Range#include? for non-numeric ranges

added changelog message
Remove OracleDatabaseTasks was deprecated, because this was provided by 3rd-party.
Remove SqlseverDatabaseTasks was deprecated, because this was provided by 3rd-party.
Remove FirebirdDatabaseTasks was deprecated, because this was provided by 3rd-party.
fix serialization type cast when value is already unserialized
add test for 9041454def79d8e61cabe49e7c5cb72cef29138b
Refactored ActiveRecord `first` method to get rid of duplication.
rename method `find_first_records` to `find_first_with_limit`
Calls to the application constant have been refactored to use
Rails.application when drawing routes and creating other configurations
on the application.
Don't set X-UA-Compatible header by default

We are setting this header to chrome=1 for Chrome Frame and this will be
retired soon. Check http://blog.chromium.org/2013/06/retiring-chrome-frame.html for
details
This test does not test anything that happens in the real world.  If you
recreate the models without mucking with internal caches of the relation
objects, then the test fails.

For example:

class Man < ActiveRecord::Base
  has_many :interests
end

class Interest < ActiveRecord::Base
  belongs_to :man
end

Then do this test:

def test_validate_presence_of_parent_fails_without_inverse_of
  repair_validations(Interest) do
    Interest.validates_presence_of(:man)
    assert_no_difference ['Man.count', 'Interest.count'] do
      man = Man.create(:name => 'John',
                       :interests_attributes => [{:topic=>'Cars'}, {:topic=>'Sports'}])
      assert_not_predicate man.errors[:"interests.man"], :empty?
    end
  end
end

The test will fail.  This is a bad test, so I am removing it.
these methods are never called, so remove them
only cache the primary key column in one place