Added test to ensure that DescendantsTracker does not leak memory on singleton classes
Change ActionController::Parameters#require behavior when value is empty
When the value for the required key is empty an ActionController::ParameterMissing is raised which gets caught by ActionController::Base and turned into a 400 Bad Request reply with a message in the body saying the key is missing, which is misleading.

With these changes, ActionController::EmptyParameter will be raised which ActionController::Base will catch and turn into a 400 Bad Request reply with a message in the body saying the key value is empty.
Fixed a bug in  when using has_many association with :inverse_of option and UUID primary key.
Use `Base.strict_decode64` instead of `Base.decode64` just as we do in encoding;

Also reduce extra object allocation by creating string directly instead of join on Array
DirtyModel uses a hash to keep track of any changes made to attributes
of an instance. When using the attribute_will_change! method, you must
supply a string and not a symbol or the *_changed? method will break
(because it is looking for the attribute name as a string in the keys
of the underlying hash). To remedy this, I simply made the underlying
hash a HashWithIndifferentAccess so it won't matter if you supply
the attribute name as a symbol or string to attribute_will_change!.
make sure both headers are set before checking for ip spoofing
Use symbols instead of strings

ActiveSupport::Concern is used all over Rails
This PR will only create 3 new objects as keys are never recreated and
are not subject to garbage collection.

The strings were being uniquely created and garbage collected. I don't
have any performance numbers but this should be better than all of the
GC.
Adding documentation to +polymorphic_url+
concerning the options that it inherits from +url_for+. The way that
+polymorhpic_url+ is built allows it to have options
like +:anchor+, +:script_name+, etc. but this is currently not
documented.
Improve js written for guides

* Stop using unnecessary global variable
* Use function defined by jQuery for simplicity
* Fix event listner for "more info button" to handle
  event on resize browser
Making the rake file for tests easier to read.

I'm defining a new class which modularizes how the `rake test` tasks are
defined and invoked.
Improve the testing guide [ci skip]

Improve the "Testing Rails Applications" guide adding a section for
testing helpers and a little note about associations with ActiveRecord
and YAML fixtures.

Also add a link to Fixture Builder ; yet another replacement for
fixtures such as Machinist or FactoryGirl.
Fix doc in Postgres database creation
Raising an error when nil or non-hash is passed to update_attributes.
Improved grammar and replaced 'dbs' slang with 'databases'
Add few information about missing steps [ci skip]

Add some deprecations previously note covered such as the confirm
option for the link_to helper or options which aren't needed anymore

Also add a mention about the config.assets.js_compressor option.
cookies are encrypted starting Rails 4
doc for more input tag types
Do not invoke callbacks when delete_all is called

Method `delete_all` should not be invoking callbacks and this
feature was deprecated in Rails 4.0. This is being removed.
`delete_all` will continue to honor the `:dependent` option. However
if `:dependent` value is `:destroy` then the default deletion
strategy for that collection will be applied.

User can also force a deletion strategy by passing parameter to
`delete_all`. For example you can do `@post.comments.delete_all(:nullify)`
Complete a sentence in i18n guide's introduction

Add a list of what will be covered into this guide
Removed params permit step from 5.6 section [ci skip]