Fixed #23822 -- Added support for serializing model managers in migration

Ticket: https://code.djangoproject.com/ticket/23822

- [x] Implementation
- [x] User documentation
- [x] Reference documentation
- [x] Tests
Actually, wouldn't it be technically possible to make dynamic `from_queryset` managers directly reconstructable using a similar technique as you used for `as_manager`? As long as the base manager class and queryset class are stored somewhere, you could save both of them and use them both to reconstruct.