Don't swallow exceptions in transctional statements

The MySQL connection adapater swallows all StandardError exceptions,
which includes Mysql::Error and Mysql2::Error. The comment in the
exception clause claims errors thrown here indicate that transactions
aren't supported by the server but that isn't necessarily true. It's
possible the MySQL server has gone away and swallowing a failed commit
may let the application return a successful response when the data has
not been saved. Also, replication libraries like Galera require that the
application handle exceptions thrown at BEGIN/COMMIT.

I'm unable to determine what version of MySQL threw an exception for
transactional statements. I tried as far back as 3.23.49 with InnoDB
disabled but BEGIN & COMMIT statements do not throw an error. If there's
a real case for this logic to continue, we could instead push this
behavior into a configuration setting.

The exception swallowing has been there since the beginning:
db045dbbf60b53dbe013ef25554fd013baf88134
Update README.rdoc [ci skip]

Highlighted code
Update commands.rb content in initialization guide

[ci skip]
Add section for command_tasks in initialization guide

[ci skip]
Also dup `column_types` in AR::Result `initialize_copy`
Refer to Rails.env only when Rails is defined
Explicitly exit with status "1" for create and drop failures

* A non-zero exit status allows subsequent shell commands to be chained
  together such as: `rake db:reset test:prepare && rspec && cap deploy`
  (if you're feeling brave :)
* Any exceptions raised during the `create` and `drop` tasks are caught
  in order to print a "pretty" message to the user. Unfortunately doing
  so prevents rake from aborting with a non-zero exit status to the shell.
* Therefore we re-raise the exceptions after the "pretty" message and
  re-catch them in the task.
* From the task we explicitly exit with a non-zero status. This method
  was chosen (rather than just letting rake fail from the exception) so
  that the backtrace is suppressed and the output to stderr is
  unchanged.
* Update activerecord CHANGELOG
Change syntax format for example returned values

According to our guideline, we leave 1 space between `#` and `=>`, so we
want `# =>` instead of `#=>`.

Thanks to @fxn for the suggestion.

[ci skip]
Move `SchemaCreation` to its own file instead of `AbstractAdapter`.
Fix RailsServer#start content in initialization guide

[ci skip]
[ci skip] Replace #=> with # =>
`remove_column` does not take a type argument. [ci skip]. Closes #12864
[ci skip] Fix curl response output and use strong parameters in update action.
Merge pull request #12865 from JuanitoFatas/layout-and-render

[ci skip] Fix curl response output and use strong parameters in update action
add #no_touching on ActiveRecord models
Correct guide relating MiddlewareStackProxy with Enumerable

[ci skip] Enumerable.instance_methods &
Rails::Configuration::MiddlewareStackProxy.instance_methods # =>
[:as_json]

MiddlewareStackProxy does not share any notable methods with Enumerable.
Revert "`remove_column` does not take a type argument. [ci skip]. Closes #12864"

As of Rails 4.0 `remove_column` is no longer an alias for `remove_columns`.
The type is actually valid and used when issuing a rollback (new `change` method).

This reverts commit 9c9d4948e428a226a19aa92c17fa6ac5833c2fb8.
Remove outdated guide on using rack builder w/o rails middleware

[ci skip]
Ensure that a column added in a test is being removed after all
Fix syntax error in atom_feed example [ci skip]

Builder's #tag! takes either String or Symbol as the first parameter