Dynamically install necessary-for-most-tests and non-installed to-be-tested apps.

Turns out that just loading default settings is not enough for non-installed
apps, unless we add them to INSTALLED_APPS and reset apps registry, some
migrations don't get executed on the test database. Moreover, we also need
to manually invalidate model options related object caches, as these don't
get updated after loading new models.