Escape multibyte line terminators in JSON encoding

Currently, json/encoding respects the JSON spec (as it should) which 
disallows \n and \r inside strings, escaping them as expected.

Unfortunately, ECMA-262 (Javascript) disallows not only \n and \r in 
strings, but "Line Terminators" which includes U+2028 and U+2029. 
See here: http://bclary.com/2004/11/07/#a-7.3

This pull request adds U+2028 and U+2029 to be escaped.

# Why? 

It's very common to see something like this in a Rails template:

<script type="text/javascript"> 
var posts = <%= @posts.to_json %>;
</script>

If U+2028 or U+2029 are part of any attributes output in the to_json
call, you will end up with an exception.
In Chrome: Uncaught SyntaxError: Unexpected token ILLEGAL 

# Why not?

This is JSON encoding, and the JSON spec is specific about how to 
encode strings. U+2028 and U+2029 don't get special treatment.

Just trying to start a discussion... what do you do in your apps
to deal with this? Is there a convention I'm missing?
fix HashWithIndifferentAccess#to_hash behaviour
Revert "Object#in? also accepts multiple parameters"

This reverts commit ebf69ab1636df74c76332c53bcd3d8494fb91b45.

`in?` must not take multiple parameters because its behavior would be
ambiguous:

    # Test if "B" is included in a list of names with `"B".in?(*names)`:
    names = ["BMorearty"]
    "B".in?(*names)   # => true

    names = ["BMorearty","rubyduo"]
    "B".in?(*names)   # => false

Conflicts:
	activesupport/lib/active_support/core_ext/object/inclusion.rb
	activesupport/test/core_ext/object/inclusion_test.rb
Revert "Correct formatting for remaining booleans"

It is not in the contract that flags have to be singletons,
the use of regular font indicates that.

This reverts commit 80036f9a5341bd831d125dc684841a8433d92070.
Revert "Consistent use of code syntax formatting for boolean values"

Same rationale as previous revert.

This reverts commit 887225e69b6cdd27f00cf043c4ac918ca5e18cbf.
Revert the guide after removing varargs from `in?`.
Fix failing AP test
Merge pull request #10394 from BMorearty/remove-varargs-from-in

Remove varargs from `Object#in?`
Make railties version match RAILS_VERSION
Merge pull request #10405 from rubys/410-beta

Make railties version match RAILS_VERSION
allow override of uuid_generate_v4() default by passing default: nil

without this, it's not possible to use UUID primary keys without uuid-ossp installed and activated
Merge pull request #10404 from chadmoone/fix-pg-uuid-default

Allow override of PostgreSQL UUID primary key default
Handle aliased attributes in ActiveRecord::Relation.

When using symbol keys, ActiveRecord will now translate aliased attribute names to the actual column name used in the database:

With the model

  class Topic
    alias_attribute :heading, :title
  end

The call

  Topic.where(heading: 'The First Topic')

should yield the same result as

  Topic.where(title: 'The First Topic')

This also applies to ActiveRecord::Relation::Calculations calls such as `Model.sum(:aliased)` and `Model.pluck(:aliased)`.

This will not work with SQL fragment strings like `Model.sum('DISTINCT aliased')`.

Github #7839

*Godfrey Chan*
use constant for encoding
Merge pull request #10407 from NARKOZ/encoding-constant

Use constant for encoding
Improve docs for postgresql with uuid primary keys [ci skip]

Introduced in 09ac1776abc0d3482f491f2d49f47bcb3d9a4ad7.
Merge pull request #7839 from chancancode/handle_aliased_attributes_in_ar_relation

Handle aliased attributes in AR::Relation
Convert ActiveModel to 1.9 hash syntax.

I also attempted to fix other styleguide violations such as
{ a: :b } over {a: :b} and foo(b: 'bar') over foo( b: 'bar' ).
Merge pull request #10408 from patricksrobertson/convert_activemodel_to_new_hash_syntax

Convert ActiveModel to 1.9 hash syntax.
Extract tests code out from AR's base_test.rb to integration_test.rb

`AR::Base#to_param` and `AR::Base#cache_key` is defined at
active_record/integration.rb, so tests for those methods should be at
integration_test.rb