pass the run block as a normal variable to the rest of the callbacks
object based callbacks cannot be duplicated
use an environment object to hold state about the filter calls
Merge pull request #10057 from zackham/patch-1

Escape multibyte line terminators in JSON encoding
Fix that #pluck wasn't rescuing ThrowResult, meaning it would blow up when failing to construct_limited_ids_condition.
Add coverage for the fact that pluck without an argument returns all the table's columns.
Fix syntax error on Ruby 2.0

Since Ruby 2.0 is UTF-8 by default we need to explictly say that the
encoding of this file is US-ASCII
Merge pull request #10534 from cmaruz/master

Escape of U+2028 and U+2029 in the JSON Encoder

Conflicts:
	activesupport/lib/active_support/json/encoding.rb
Give credits to all the envolved people [ci skip]
Merge branch 'fix-json-encoding'

This is the compination of #10057 and 10534.

Closes #10320
fixing activemodel tests
use delegation over inheritance so we can figure when to cache / bust cache
cache compiled callbacks
Removed jruby-openssl gem from default template Gemfile
just run compiled callbacks since they are cached
__define_callbacks method is not necessary anymore
callback chain is in charge of the cache, so remove method based cache
No point in memoizing a simple literal string.
Make NullRelation a bit more like a real relation by returning 0 for #calculate(:count)
push duplicates? logic to the instance