Fixed #20142 -- Added error handling for fixture setup

TestCase._fixture_setup disables transactions so,
in case of an error, cleanup is needed to re-enable
transactions, otherwise following TransactionTestCase
would fail.
Fixed #14894 -- Ensure that activating a translation doesn't run into threading issues.

Thanks to maxbublis for the report and sergeykolosov for the patch.
Fixed #15201: Marked CACHE_MIDDLEWARE_ANONYMOUS_ONLY as deprecated
Merge branch 'master' of github.com:django/django
Merge pull request #1127 from filias/20142

Fixed #20142 -- Added error handling for fixture setup
extracted prepare_lookup_and_defaults_for_get, create_or_update docstring
extracted code used on get_or_create and create_or_update, create_or_update implementation
working on tests
Working and tested implementation
Added documentation for create_or_update method