Update workaround for "Outside the Scope of Strong Parameters" 

The previous example of how to permit a hash of unknown keys used .tap, but had the side effect of logging an "Unpermitted parameters" message despite being a successful workaround. The proposed workaround is ever so slightly better, imo, because it won't result in an "Unpermitted parameters" message being logged.
Fix undefined method error for NilClass

Add .try to prevent undefined method error for NilClass.
add autoload :TransactionState to fix Marshal.load issues
revised changelog comment to be less than 80 chars
Added platform dependent gems


See #12475

If people are on rbx they will get the desired gem
Warning removed for ruby-head
Merge pull request #12800 from raysrashmi/warning-removed-ruby-trunk

Warning removed for ruby-head
Merge pull request #12795 from arunagw/plateform-dependent-gems

Added platform dependent gems
Merge pull request #12791 from jasonayre/ja/fix_autoload_error

add autoload :TransactionState to fix Marshal.load issues
Removed unused require
Extract common database defaults; better use of YAML
Merge pull request #12292 from bf4/better_database_yaml

Extract common database defaults; better use of YAML
Merge pull request #12803 from arunagw/remove-unused-require

Removed unused require
Merge pull request #12609 from corwinkelly/patch-1

Update workaround for "Outside the Scope of Strong Parameters"
removes redundant curly brackets in example code [ci skip]
Don't skip tests if we don't need to.

We can conditional define the tests depending on the adapter or
connection.

Lets keep the skip for fail tests that need to be fixed.
fix simple_format escapes own output when sanitize is set to true
Remove more skip
Mark broken test as pending

This will avoid the broken window effect in our test suite
:scissors: fix broken url [ci skip]