Removed the stealth option to set 'isolation_level' under SQLite.

It isn't used currently and it's trivial to restore if necessary.

TODO: squash with 190bdd4ee7a942498d3b9b0d4ee14794ad388f31.
Removed useless code.

TODO: squash with 3058dedb183e7e7cd72fa9835a8623e1e58aba04.
Fixed an accidental backwards incompatibility.

Exiting an unmanaged blocks with pending changes should certainly not
trigger a commit!

TODO: rebase this from 6413e5fab8ed5dc7ac80d8c795833614ee96ba8a onwards.

Back then this code was only in the PostgreSQL backend.
Used commit_on_success_unless_managed to make ORM operations atomic.
Used commit_on_success_unless_managed in loaddata.
Clarified the purpose of atomic_if_autocommit.

TODO: squash with 5b8fb4d5b261f7775cd201a22c799994837091aa.
Fixed a logic error in _legacy_enter_transaction_management.

This put the autocomit state out of sync and caused test failures.

TODO: squash with 4fc7c3eeff2952cdebfa333fcb91176c6707072b.
Added an option to disable the creation of savepoints in atomic.
Abused atomic for transaction handling in TestCase.

It isn't necessary to disable set_autocommit since its use is prohibited
inside an atomic block. It's still necessary to disable the legacy
transaction management methods for backwards compatibility, until
they're removed.