Fix Formatting in AR Readme

Don't make free form text appear in code blocks [ci skip]
[ci skip] document type_cast_for_write
[ci skip] document ActionDispatch::HTTP::Headers
copy edits [ci skip]
fix formatting errors [ci skip]
[ci skip] doc Http::Headers methods
[ci skip] doc ActiveSupport::TimeWithZone#to_s

Current docs are wrong. Does not accept strftime inputs.
Reverts "Fix bugs with changed attributes tracking when transaction gets rollback"

We are reverting these commits, because there are other caveats related
to dirty attributes not being restored when a transaction is rollback.
For instance, nested transactions cannot proper restore the dirty
attributes state after a rollback.

At the moment, the dirty attributes are scoped by the transaction.
When we call `.save` on a record, the dirty attributes will be reset even
if the transaction gets rollback.

[related #13166]
[related #15018]
[related #15016]
[closes #15019]

This reverts commits
* bab48f0a3d53a08bc23ea0887219e8deb963c3d9
  * b0fa7cf3ff8432cc2eef3682b34763b7f8c93cc8.
* 73fb39b6faa9de593ae75ad4e3b8e065ea0e53af
  * 37c238927fbed059de3f26a90d8923fb377568a5.
  * 8d8d4f1560264cd1c74364d67fa0501f6dd2c4fa

Revert "Merge pull request #13166 from bogdan/transaction-magic"
just call the method and assert the return value

do not test internals
Merge pull request #15042 from arthurnn/revert_dirty_transactions

Reverts dirty track restore on transactions rollback
Only need MINOR version level to test Ruby 2.1.x on Travis

cc http://blog.travis-ci.com/2014-04-28-upcoming-build-environment-updates/
Merge pull request #15044 from zzak/travis_ruby_too_won

Only need MINOR version level to test Ruby 2.1.x on Travis
test, regression test for has_many with instance dependent scope.
Documentation, add examples of using an Enum scope

When scanning the Enum API page I found it easy to miss that scopes are generated.  Adding an example clarifies use and has more... *pop*...
Merge pull request #15045 from xanhast/patch-1

Documentation, add examples of using an Enum scope [ci skip]
use unless and || since these options are boolean
use fnmatch to test for case insensitive file systems

this is due to:

  https://bugs.ruby-lang.org/issues/5994
[ci skip] add example to AR#assign_attributes
don't mutate the options hash, so we don't have to dup

avoids extra hash allocations on each call
skip dealing with params if none are provided

This lets us avoid

1. A slow call to Hash#slice
2. An is_a? test
3. Extra hash allocations (from slice)
4. String allocations

etc.