reserve index name chars for internal rails operations

Some adapter (SQLite3) need to perform renaming operations to support
the rails DDL. These rename prefixes operate with prefixes. When an
index name already uses up the full space provieded by
`index_name_length` these internal operations will fail. This patch
introduces `allowed_index_name_length` which respects the amount of
characters used for internal operations. It will always be <=
`index_name_length` and every adapter can define how many characters
need to be reserved.
reserve less chars for internal sqlite3 operations
Merge pull request #8613 from senny/8264_character_limit_for_indices

deal with long index names and internal sqlite3 operations
revises the documentation of AR::Base.cache_timestamp_format [ci skip]
moves the new :nsec date format to the Active Support changelog [ci skip]
Renaming the check_empty_arguments method to something more descriptive.
The function is now called has_arguments? so that it's easier to tell
that it's just checking to see if the args are blank or not.
also rename indexes when a table or column is renamed

When a table or a column is renamed related indexes kept their name. This will lead to confusing names. This patch renames related indexes when a column or a table is renamed. Only indexes with names generated by rails will be renamed. Indexes with custom names will not be renamed.
Merge pull request #8645 from senny/rename_index_on_rename_column

also rename indexes when a table or column is renamed
unify AR changelog entries [ci skip]
Merge pull request #9344 from senny/changelog_cleanup

unify AR changelog entries [ci skip]
Skip failing test and add a FIXME note
Revert "Merge pull request #4803 from lucascaton/master"

This reverts commit bb842e8d2111e50b21a14b8bd6d89371a4b9cd68, reversing
changes made to 40c287c7983c20c498f6a8a2ea49e9a6455347f7.
This was causing issues in one of our apps we just upgraded.
ActionController::RoutingError: No route matches [GET]
"/images/favicon.ico"
favicon_link_tag now returns '/images/favicon.ico' and in 3.2 returned
'/favicon.ico'
Browsers by default look for favicon.ico in the root directory

Conflicts:
	actionpack/CHANGELOG.md
	actionpack/lib/action_view/helpers/asset_tag_helper.rb
database.yml -> config/database.yml [ci skip]
adds an example in the docs of #not with multiple conditions [ci skip]
puts a lambda around a default scope [ci skip]
removes some remaining relation bang methods documentation [ci skip]
removes relation bang methods from the AR changelog [ci skip]
Merge pull request #9345 from wangjohn/change_name_of_query_method_argument_checker_for_clarity

Renaming the check_empty_arguments method to something more descriptive.
ActiveRecord -> Active Record [ci skip]