#4566: Remove extra decrement of transaction level

`rollback_active_record_state!` tries to restore model state on `Exception`
by invoking `restore_transaction_record_state` it decrement deep level by `1`.

After restoring it ensure that states to be cleared
and level decremented by invoking `clear_transaction_record_state`,
which cause the bug: because state already reduced in `restore_transaction_record_state`.

Removed double derement of transaction level
and removed duplicated code which clear transaction state for top level.
Merge pull request #11434 from jetthoughts/new_save_transaction_bugfix

Remove extra decrement of transaction level
Revert "Don't use Rack::Sendfile middleware if x_sendfile_header is not present"

This reverts commit 19ac034bdc9be175eff7cf54208ba14b43d97681.
And allows webservers to configure X-Sendfile-Type.

Closes #11440 thanks to [@MSch]

Conflicts:
	railties/lib/rails/application.rb
Rack::Sendfile is now included in middleware by default, change tests to reflect that
No need to add config for x_sendfile_header

Rack::Sendfile is loaded by default now
Added CheckPending middleware in default

As this middleware comes by default in a new
rails app

Added test to check omit for CheckPending when

Active Record is not included.
Merge pull request #11448 from arunagw/updated_middleware_test

No need to add config for x_sendfile_header
Remove deprecation warning from attribute_missing 

for attributes that are columns.
Merge pull request #11282 from arunagw/deprecation-removed-attribute-missing-activerecord

Remove deprecated `attribute_missing`.
Do not re-save destroyed association on saving parent object

Closes #11450
Merge pull request #11451 from jetthoughts/11450_do_not_resave_destroyed_association

Do not re-save destroyed association on saving parent object
use arel rather than slapping together SQL strings
reorder bind parameters when merging relations
removing useless assingment
save another array allocation
Lock mysql2 version to 0.3.11 since 0.3.12 is failing right now. Check #11457 for details
Added generated unit test for generator generator and new test:generators rake task included in test:all rake task.
Merge pull request #11419 from simi/generator_generator_test

Added generated unit test for generator generator.
`change_column` for PG adapter respects `:array` option.
Unifies mysql and mysql2 casting of booleans

Using the mysql2 adapter, boolean values were sometimes being incorrectly cast
to 't' or 'f'. This changes the cast to match the mysql adapter behavior, ie 1 and 0.