add convenience methods for checking migrations

if a rails project needs to be migrated ActiveRecord::Migrator.needs_migration? will be true or false if the current version matches the last version. 
The resolver tests fail if the mysql gem is not installed; this breaks
being able to run the sqlite3 tests without that gem. This fix ensures
the tests will only run if the mysql gem is installed.

A better solution might be to move these tests into the per-adapter tests,
and test each adapter's resolver.
Add failing test for 3.2.5  datetime attribute regression
Fix #6591. If a field with timezone isn't changed, we don't call will_change!.
Merge pull request #6619 from kennyj/fix_6591

Fix #6591 Rails 3.2.5 Regression: incorrect _changed? for datetimes
accept a block in button helper.
Fixed the Gemfile when gemspec is skipped in the 'rails plugin new' command
Metal controller doesn't have logger method, check it and then delegate
Merge pull request #6630 from route/logger_in_metal

Metal controller doesn't have logger method, check it and then delegate
Merge pull request #6628 from fredwu/fix_skip_gemspec

Fixed the Gemfile when gemspec is skipped in the 'rails plugin new' command
Merge pull request #6631 from yuki24/use_block_in_button_helper

Accept a block in FormHelper#button
One-liner code for logger in ActionView::Helpers::ControllerHelper
Merge pull request #6632 from route/one_line_code_for_logger

One-liner code for logger in ActionView::Helpers::ControllerHelper
Merge pull request #6616 from dpassage/fix_resolver_test_sqlite3

Resolver tests fail if mysql adapter not installed
add instance_accessor option to ActiveSupport::Configurable#config_accessor

Changes:

* Add `instance_accessor` option to opt out of the instance writer and
  instance reader methods.
* Raises a NameError if the name of the attribute is not valid.
* Update documentation and tests.
* Add CHANGELOG entry in activesupport.
bundle exec rake assets:precompile shouldn't fail quietly.

If JavaScript runtime is not installed, execjs fails with error quietly,
while tests continue to run. This should not happen since it causes tests
to fail for unknown reason (#6621).

This commit assures that if JavaScript runtime is not installed, an assertion
is raised.
Merge pull request #6638 from frodsan/config_accessor

add instance_accessor option to config_accessor
Merge pull request #6627 from Vanuan/tests_add_precompile_failure_assert

bundle exec rake assets:precompile shouldn't fail quietly.
Eliminate dependency on Rails::VERSION::STRING

To facilitate the use of ActiveSupport::Testing::Performance outside
of a Rails application conditionally check for the presence of
Rails::VERSION::STRING before including it in the environment string.
change AMS::JSON.include_root_in_json default value to false

Changes:

* Update `include_root_in_json` default value to false for default value
  to false for `ActiveModel::Serializers::JSON`.
* Remove unnecessary change to include_root_in_json option in
  wrap_parameters template.
* Update `as_json` documentation.
* Fix JSONSerialization tests.

Problem:

It's confusing that AM serializers behave differently from AR,
even when AR objects include AM serializers module.

    class User < ActiveRecord::Base; end

    class Person
      include ActiveModel::Model
      include ActiveModel::AttributeMethods
      include ActiveModel::Serializers::JSON

      attr_accessor :name, :age

      def attributes
        instance_values
      end
    end

    user.as_json
    => {"id"=>1, "name"=>"Konata Izumi", "age"=>16, "awesome"=>true}
    # root is not included

    person.as_json
    => {"person"=>{"name"=>"Francesco", "age"=>22}}
    # root is included

    ActiveRecord::Base.include_root_in_json
    => false

    Person.include_root_in_json
    => true

    # different default values for include_root_in_json

Proposal:

Change the default value of AM serializers to false, update
the misleading documentation and remove unnecessary change
to false of include_root_in_json option with AR objects.

    class User < ActiveRecord::Base; end

    class Person
      include ActiveModel::Model
      include ActiveModel::AttributeMethods
      include ActiveModel::Serializers::JSON

      attr_accessor :name, :age

      def attributes
        instance_values
      end
    end

    user.as_json
    => {"id"=>1, "name"=>"Konata Izumi", "age"=>16, "awesome"=>true}
    # root is not included

    person.as_json
    => {"name"=>"Francesco", "age"=>22}
    # root is not included

    ActiveRecord::Base.include_root_in_json
    => false

    Person.include_root_in_json
    => false

    # same behaviour, more consistent

Fixes #6578.