Don't enable validations when passing false hash values to ActiveModel.validates

Passing a falsey option value for a validator currently causes that validator to
be enabled, just like "true":

    ActiveModel.validates :foo, :presence => false

This is rather counterintuitive, and makes it inconvenient to wrap `validates` in
methods which may conditionally enable different validators.

As an example, one is currently forced to write:

      def has_slug(source_field, options={:unique => true})
        slugger = Proc.new { |r| r[:slug] = self.class.sluggify(r[source_field]) if r[:slug].blank? }
        before_validation slugger
        validations = { :presence => true, :slug => true }
        if options[:unique]
          validations[:uniqueness] = true
        end
        validates :slug, validations
      end

because the following reasonable-looking alternative fails to work as expected:

      def has_slug(source_field, options={:unique => true})
        slugger = Proc.new { |r| r[:slug] = self.class.sluggify(r[source_field]) if r[:slug].blank? }
        before_validation slugger
        validates :slug, :presence => true, :slug => true, :uniqueness => options[:unique]
      end

(This commit includes a test, and all activemodel and activerecord tests pass as before.)
Merge pull request #6517 from purcell/validates-false-value

Don't enable validations when passing false hash values to ActiveModel.validates
remove unnecessary require

AS::Multibyte are no longer required by access and filters string
core extensions.
make AS::Multibyte::Chars work w/o multibyte core ext

Use ActiveSupport::Multibyte::Chars.new instead of String#mb_chars.
It allows to use ActiveSupport::Multibyte::Chars without requiring
String multibyte core extension.
Merge pull request #6522 from lest/patch-1

ActiveSupport require and dependencies
Add support for CollectionAssociation#delete by Fixnum or String

I found the next issue between CollectionAssociation `delete`
and `destroy`.

    class Person < ActiveRecord::Base
      has_many :pets
    end

    person.pets.destroy(1)
    # => OK, returns the destroyed object

    person.pets.destroy("2")
    # => OK, returns the destroyed object

    person.pets.delete(1)
    # => ActiveRecord::AssociationTypeMismatch

    person.pets.delete("2")
    # => ActiveRecord::AssociationTypeMismatch

Adding support for deleting with a fixnum or string like
`destroy` method.
Parse float value only once in number helpers

Refactor number helpers output with safety handling to call float
parsing only once. Also remove 'erb' require.
Merge pull request #6511 from frodsan/add_fixnum_string_support_for_delete

Add support for CollectionAssociation#delete by Fixnum or String
Allow blocks for count with ActiveRecord::Relation. Document and test that sum allows blocks
Yield only one argument instead of splatting.

Add Changelog entry. Closes #4003
Review requires from number helper

Some of these requires are now only necessary in
ActiveSupport::NumberHelper. Add hash/keys require due to symbolize_keys
usage in number helpers. Also remove some whitespaces.

Closes #6414
Fix failing build related to change in CollectionAssociation#delete

Merge commit 6f1d9d00ffd9d411b2bd488da4eb92b7e2fd972e
Add note about CollectionAssociation#delete change to upgrading guide [ci skip]
Add tests to delete by fixnum or string id with has many through associations
Merge pull request #6527 from frodsan/add_test_to_delete_by_fixnum_or_string

Add tests to delete by fixnum or string id with has many through associations
decoupling activesupport performance testing from actionview and adding tests
Merge pull request #6526 from appfolio/decoupling_activesupport_from_actionivew

Decoupling ActiveSupport from ActionView