Refactored file_storage tests to avoid depending on servers tests.
Defined available_apps in relevant tests.

TODO:
- why isn't the current application always in available_apps?
- how were the required apps determined?
WIP - the remainder of Anssi's patch.

TODO:
- get rid of the "mask" terminology
- is it actually necessary to raise an exception if an unavailable app
  is used in get_queryset()?
- can we remove follow_forwards_relations and require test cases to
  declare all their dependencies?
- does ContentType.model_class really need to know about this feature?
Documented TransactionTestCase.available_apps.

This is a private API but it's documented for Django contributors and
committers.