link directory to ActionMailer Previews documentation
[ci skip] add guide for ActiveModel::Naming
Re-enable foriegn key tests on MySQL

This reverts commit e84799d, e31104c and e6ca8e2
If our connection is explicitly non-strict, tell MySQL

We default to making the connection strict, but have historically relied
on the MySQL default when we want it to be non-strict. On some (recent?)
versions of MySQL, new connections default to being strict, so if we've
been told 'strict:false', we're obliged to pass that on.

This fixes a test failure that we've seen turn up on relatively-new
development machines, so we do already have a test covering it.
Fix mysql/mysql2 failing with FK constraint errors

One of the author fixture we have ("david") references an author address by ID.
Since we disable FK checks when inserting fixtures, this is all fine until we
try to update it, at which point MySQL would complain about the missing row
referenced by the `author_address_id`.

[Godfrey Chan, Matthew Draper]
Merge pull request #16065 from matthewd/mysql-explicit-non-strict

If our connection is explicitly non-strict, tell MySQL
Merge pull request #16059 from jenncoop/json-serialized-attr

Fixed issue with ActiveRecord serialize object as JSON

Conflicts:
	activerecord/CHANGELOG.md
	activerecord/lib/active_record/attribute_methods/serialization.rb
Revert "Merge pull request #16059 from jenncoop/json-serialized-attr"

This reverts commit a03097759bd7103bb9db253e7ba095f011453f75.

This needs more work before it would work correctly on master.
[ci skip] Concludes changelog links in the bottom.
This way when we do next release notes, this would be easier to copy and change.
Merge pull request #16068 from JuanitoFatas/4-2-changelogs

[ci skip] Concludes changelog links in the bottom.
Merge pull request #16044 from jjb/patch-1

[ci skip] link directly to ActionMailer Previews documentation
active_record: Type cast booleans and durations for string columns.
Merge pull request #16069 from dylanahsmith/mysql-quote-bool

active_record: Type cast booleans and durations for string columns.
Generate shallow paths for all children of shallow resources.

Prior to this commit shallow resources would only generate paths for
non-direct children (with a nested depth greater than 1).

Take the following routes file.

    resources :blogs do
      resources :posts, shallow: true do
        resources :comments do
          resources :tags
        end
      end
    end

This would generate shallow paths for `tags` nested under `posts`,
e.g `/posts/:id/tags/`, however it would not generate shallow paths
for `comments` nested under `posts`, e.g `/posts/:id/comments/new`.

This commit changes the behaviour of the route mapper so that it
generate paths for direct children of shallow resources, for example
if you take the previous routes file, this will now generate
shallow paths for `comments` nested under `posts`, .e.g
`posts/:id/comments/new`.

This was the behaviour in Rails `4.0.4` however this was broken in
@jcoglan's fix for another routes related issue[1].

This also fixes an issue[2] reported by @smdern.

[1] https://github.com/rails/rails/commit/d0e5963
[2] https://github.com/rails/rails/issues/15783
Merge pull request #15958 from aditya-kapoor/active-model-naming-guide

[ci skip] add guide for ActiveModel::Naming