Merge pull request #6446 from acapilleri/mini_xml_4

Change xml type datetime to dateTime
Add Hash#transform_keys and Hash#transform_keys! and refactor *_keys methods to use them.
Merge pull request #6259 from markmcspadden/hash_transform_keys

Add Hash#transform_keys and Hash#transform_keys!
Adding deep versions of stringify_keys and symbolize_keys (plain and bang) for nested hashes
[Guides] Rewrite server start section
[Guides] Rewrite server start section
[Guides] Fix sample code
ConnectionPool wait_timeout no longer used for different types of timeouts. #6441

An AR ConnectionSpec `wait_timeout` is pre-patch used for three
different things:

* mysql2 uses it for MySQL's own wait_timeout (how long MySQL
  should allow an idle connection before closing it), and
  defaults to 2592000 seconds.
* ConnectionPool uses it for "number of seconds to block and
  wait for a connection before giving up and raising a timeout error",
  default 5 seconds.
* ConnectionPool uses it for the Reaper, for deciding if a 'dead'
  connection can be reaped. Default 5 seconds.

Previously, if you want to change these from defaults, you need
to change them all together. This is problematic _especially_
for the mysql2/ConnectionPool conflict, you will generally _not_
want them to be the same, as evidenced by their wildly different
defaults. This has caused real problems for people #6441 #2894

But as long as we're changing this, forcing renaming the
ConnectionPool key to be more specific, it made sense
to seperate the two ConnectionPool uses too -- these two
types of ConnectionPool timeouts ought to be able to be
changed independently, you won't neccesarily want them
to be the same, even though the defaults are (currently)
the same.
Merge pull request #6060 from lucashungaro/master

Adding deep versions of stringify_keys and symbolize_keys (plain and bang) for nested hashes
Add license field to gemspecs, by Matt Griffin
Merge pull request #6463 from jrochkind/connection_pool_timeout_keys

ConnectionPool wait_timeout no longer used for different types of timeouts. #6441
copy edit[ci skip]
Revert "Remove blank trailing comments"

This reverts commit fa6d921e11363e9b8c4bc10f7aed0b9faffdc33a.

Reason: Not a fan of such massive changes. We usually close such changes
if made to Rails master as a pull request. Following the same principle
here and reverting.

[ci skip]
Revert "Remove Obsolute root specifiying short syntax"

This reverts commit feaa7b35a0214240eb34780ab51b843571e74904.

Reason: Incorrect change. That's a Rails 4 feature and will not
obviously work in 3.2.3.

[ci skip]
Merge pull request #6462 from grosser/feature/licenses

Add license field to gemspecs, by Matt Griffin
copy edits in collection proxy docs [ci skip]
Merge pull request #6194 from ayrton/optimized_images

Optimizing all images used in the guides
Merge pull request #6383 from oscardelben/add_oscardelben_to_authors

Add oscardelben to authors
Merge branch 'master' of github.com:lifo/docrails
Added instructions for backporting changes to guides.

I was looking for instructions on backporting changes the other day and
wasn't able to find it anywhere. I updated the contrib guides based on
the disccusion in #6420, #6215 and #6447.