Kernel#capture replaced by version which can catch output from subprocesses
Store FlashHashes in the session as plain hashes rather than custom objects with unstable class names and instance variables.

Refactor FlashHash to take values for its ivars in the constructor, to pretty up FlashHash.from_session_value.

Remove stale comment on FlashHash: it is no longer Marshaled in the session so we can change its implementation.

Remove blank lines I introduced in controller/test_case.rb.

Unit tests for FlashHash#to_session_value.

Put in a compatibility layer to accept FlashHash serializations from Rails 3.0+.

Test that Rails 3.2 session flashes are correctly converted to the new format.

Remove code path for processing Rails 3.0 FlashHashes since they can no longer deserialize.
:counter_cache option for  to support custom named counter caches. Closes #7993
Merge pull request #8017 from jcoglan/objectless_sessions

Store FlashHashes in the session as plain hashes
Remove free usage of #tap
Clean up gemspecs

Organized the gemspec files a bit.

 * Made quotes more consistent (single quotes dominated, so I used
   that).
 * Moved license line down a line, separating it logically, and removed
   the extra whitespace before its = operator.
 * Minor whitespace fixes.
Revert "Merge pull request #8017 from jcoglan/objectless_sessions"

This reverts commit 36376560fdd02f955ae3bf6b7792b784443660ad, reversing
changes made to 3148ed9a4bb7efef30b846dc945d73ceebcc3f0f.

Conflicts:
	actionpack/lib/action_dispatch/middleware/flash.rb

Reason: it broke Sam's CI

https://github.com/rails/rails/pull/8017#issuecomment-10210655
Merge pull request #8147 from gbchaosmaster/gemspec

Reformat gemspec
rm dead code
Merge pull request #7763 from route/full-capture

Kernel#capture replaced by version which can catch output from subprocesses
copy the log level from the config settings
make the extremely useful logs debug level
implement to_a and to_ary so that the Array() call in template.rb will
not raise so many exceptions:

  https://github.com/rails/rails/blob/master/actionpack/lib/action_view/template.rb#L126

irb(main):001:0> class Foo; def method_missing(*args); super; end end
=> nil
irb(main):002:0> $DEBUG = true
=> true
irb(main):003:0> Array(Foo.new)
Exception `NoMethodError' at (irb):1 - undefined method `to_ary' for #<Foo:0x007f854390e488>
Exception `NoMethodError' at (irb):1 - undefined method `to_a' for #<Foo:0x007f854390e488>
=> [#<Foo:0x007f854390e488>]
irb(main):004:0>
Fix message about include_blank option.

See
https://github.com/rails/rails/commit/cb7d19b66badfbd1846c195913419c331701074e#commitcomment-2127148.
Add note about squashing in contributor guide.

We tell people how to do this all the time in the Issues tracker,
so now we can just point them here.
delegate PathSet's enumerator methods
Merge pull request #8152 from steveklabnik/squashing_guide

Add note about squashing in contributor guide.
Relations built off collection associations with an unsaved owner should be null relations

For example, the following should not run any query on the database:

Post.new.comments.where(body: 'omg').to_a # => []

Fixes #5215.
Merge pull request #8153 from steveklabnik/fix_include_blank

Fix message about include_blank option. [ci skip]
Merge pull request #8151 from nashby/forwardable

delegate PathSet's enumerator methods