Allow using TranslationQueryset as the default queryset: Model.objects.all()

As part of a major change to the API that I would like to make possible (not decide yet) for a next major version, the goal of the PR is to make `TranslationQueryset` work as a default queryset.

Namely, this should work as expected:
```python
class FullTranslationManager(TranslationManager):
    use_for_related_fields = True
    default_class = TranslationQueryset    # returned by Model.objects.all()
```
It does not, as of now, because it breaks when used for related fields and other auto-generated managers.
Also, the implementation should work properly with `prefetch_related` and `select_related` as well.
Also see the adaptations that were made in past commit 92bc942d879aac57c8e15997cefe9528e5f5fc4e. `_base_manager` and stuff.

This is still WIP as some tests are not written yet, and they are likely to unveil some further issues.