Merge branch 'master' into adequaterecord

* master: (26 commits)
  Avoid URI parsing
  Add missing require so requiring `active_support/cache` works again.
  depend_on_asset is not required anymore on sprockets-rails 2.1.2
  upgrading section for 4.1 is no longer WIP. [ci skip]
  Expand explanation of how to set secrets.yml. [ci skip]
  Guides: minor typo fixed [ci skip]
  Fixed problem where `1.day.eql?(1.day)` is false
  new CHANGELOGs entries are in the top [ci skip]
  Updates the maintenance policy with new Rails versions
  Dont abbreviate that which needs no abbreviation
  Dont encourage aliases now that we have variants
  Use short-form for the scaffold render calls and drop the needless test
  Drop in @jeremy's new database.yml template text
  Don't deprecate after all
  Less ambition, more deprecation
  Ensure we correctly and immediately load all ENV entries
  Give a deprecation message even when the lookup fails
  Rearrange the config merger some more
  entry is always a Hash
  Check env_url only once
  ...

Conflicts:
	Gemfile
use the compile method so we do not have to specify the collectors in this case
Merge pull request #14668 from laurocaetano/source_option_with_string_value

The :source option for has_many => through should accept String values.
remove the bind substitution visitor. to_sql should never return bind values
add services: memcache to travis
Merge pull request #14671 from arthurnn/travis_memcache

add services: memcache to travis
add a bind collector, remove the bind visitor
fix bind collecting for mysql
working against arel/collector branch
all tests passing on mysql2
mysql tests are passing again
sqlite3 tests passing again
push the collectors up to the abstract adapter
remove the bind visitor since the collector handles substituting bind values
Merge branch 'master' into adequaterecord

* master:
  add services: memcache to travis
  The `source` option for `has_many => through` should accept String values.
oops! Fix Gemfile. :bomb:
tests still pass when caching unprepared statements
speed up parameter substitution

store the offsets of the bind values, then only index to bind value
locations before joining the array
Make the reflections cache work with strings as its keys.
No need to call `to_sym` on reflection name, since the cache now works
with strings with string keys.

Related #14668.