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, (ref #35)
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.
No need to handler core filters as they will be added by `RelatedManager` as needed.