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
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
Allocate one less object using html_safe during content_tag construction
Unify `cattr_*` interface: allow to pass a block to `cattr_reader`.

Example:

    class A
      cattr_reader(:defr) { 'default_reader_value' }
    end
    A.defr # => 'default_reader_value'
Remove broken Commmand Line guide link

[ci skip]
Merge pull request #12899 from nateberkopec/remove_broken_internal_guide_link

Remove broken Commmand Line guide link
Merge pull request #12900 from kuldeepaggarwal/f-to-param

added one test case and example for ActiveRecord::Base.to_param method
explain how `to_param` wil truncate long values. [ci skip] refs #12900.
Merge pull request #10848 from 907th/add_block_to_cattr_reader

Fix #10847: allow to pass a block to `cattr_reader`.
Merge pull request #12853 from joshjordan/master

Allocate one less object using html_safe during content_tag construction
Remove tests for not swallowing exceptions.

From PR, @tenderlove would prefer to not maintain these tests.
Merge pull request #12531 from iamvery/database-tasks-exit-status

Explicitly exit with status "1" for create and drop task failures

Conflicts:
	activerecord/CHANGELOG.md
Merge pull request #12779 from dougbarth/dont_swallow_exceptions_during_transactional_statements_in_mysql

Don't swallow exceptions in transctional statements
Use `set_backtrace` instead of `@backtrace` in ActionView error
Change Relation#all to Relation#load [ci skip]
test should clean up after themselves
Merge pull request #12904 from sbagdat/patch-1

Change Relation#all to Relation#load [ci skip]
Merge pull request #12703 from makimoto/actionsupport-error-set_backtrace

Use set_backtrace instead of @backtrace in ActionView error
[ci skip] Update gem versions for 3.2 and 3.1. Also change some words.
Merge pull request #12907 from JuanitoFatas/upgrading

[ci skip] Update gem versions for 3.2 and 3.1. Also change some words.