make Hash#extract! more symmetric with Hash#slice
add more testcases and doc about Hash#extract!
1.9 hash syntax for guides, work-in-progress
Padding expires_in by 5 minutes on dalli key write to facilitate :race_condition_ttl working correctly.
1.9 hash syntax changes.
Revert "Key the attributes hash with symbols"

This reverts commit 86c3dfbd47cb96af02daaa655963292b1a1b110e.

Conflicts:
	activerecord/lib/active_record/attribute_methods/read.rb

Reason: whilst this increased performance, it also presents a DoS risk
via memory exhaustion if users were allowing user input to dictate the
arguments of read/write_attribute. I will investigate alternative ways
to cut down on string allocations here.
specify path to CommentsController again inline

(incorporating feedback from a newbie)
Don't allocate new strings in compiled attribute methods

This improves memory and performance without having to use symbols which
present DoS problems. Thanks @headius and @tenderlove for the
suggestion.

Benchmark
---------

require 'active_record'
require 'benchmark/ips'

ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database:
':memory:')

class Post < ActiveRecord::Base
  connection.create_table :posts, force: true do |t|
    t.string :name
  end
end

post = Post.create name: 'omg'

Benchmark.ips do |r|
  r.report('Post.new')          { Post.new name: 'omg' }
  r.report('post.name')         { post.name }
  r.report('post.name=')        { post.name = 'omg' }
  r.report('Post.find(1).name') { Post.find(1).name }
end

Before
------

Calculating -------------------------------------
            Post.new      1419 i/100ms
           post.name      7538 i/100ms
          post.name=      3024 i/100ms
   Post.find(1).name       243 i/100ms
-------------------------------------------------
            Post.new    20637.6 (±12.7%) i/s -     102168 in   5.039578s
           post.name  1167897.7 (±18.2%) i/s -    5186144 in   4.983077s
          post.name=    64305.6 (±9.6%) i/s -     317520 in   4.998720s
   Post.find(1).name     2678.8 (±10.8%) i/s -      13365 in   5.051265s

After
-----

Calculating -------------------------------------
            Post.new      1431 i/100ms
           post.name      7790 i/100ms
          post.name=      3181 i/100ms
   Post.find(1).name       245 i/100ms
-------------------------------------------------
            Post.new    21308.8 (±12.2%) i/s -     105894 in   5.053879s
           post.name  1534103.8 (±2.1%) i/s -    7634200 in   4.979405s
          post.name=    67441.0 (±7.5%) i/s -     337186 in   5.037871s
   Post.find(1).name     2681.9 (±10.6%) i/s -      13475 in   5.084511s
warning removed: shadowing outer local variable - value
Immediately run queued jobs in tests. Otherwise you have to explicitly drain the queue to actually deliver your emails.
learn ActiveRecord::QueryMethods#order work with hash arguments
Fix small typo in development_dependencies_install

Fix small typo a link to bundler page in development_dependencies_install.md 
Add .rake to `rake notes` and `rake notes:custom`
Merge pull request #7765 from insside/clever-order

learn ActiveReccord::Querying#order work with hash arguments
Merge pull request #7919 from arunagw/warning_removed_shadowing

warning removed: shadowing outer local variable - value
Merge pull request #7913 from mje113/master

MemCacheStore's move to dalli as a backend broke :race_condition_ttl support
Merge pull request #7871 from bjnord/master

Support another file type .rake in `rake notes`
Move the TestQueue tests to the proper file
ActiveSupport::SynchronousQueue doesn't have the drain method.

Now we are using teh SynchronousQueue in the test environment instead of
the TestQueue
Split asset url helpers into seperate AssetUrlHelper