This reverts commit 91023d79ec70df9289271e63a67675ee51e7dea8 as it
increases memory usage for the test suite.
Backport of 7d50d2bcb8a3cf3fea727174717ead7e6508e9e2 from master
TestCase subclasses are wrapped in a transaction that prevents any data from
being persisted between test runs andi thus don't require limiting the tables
to be flushed to a subset of available apps like TransactionTestCase subclasses
do.
Since the original ones in django.db.models.loading were kept only for
backwards compatibility, there's no need to recreate them. However, many
internals of Django still relied on them.
They were also imported in django.db.models. They never appear in the
documentation, except a quick mention of get_models and get_app in the
1.2 release notes to document an edge case in GIS. I don't think that
makes them a public API.
This commit doesn't change the overall amount of global state but
clarifies that it's tied to the app_cache object instead of hiding it
behind half a dozen functions.