Allow overriding records manager class in register

By calling register(Model, records_class=Foo), a user can choose a
different class than HistoricialRecords to use for the manager.  A silly
example is included for tests.  A more serious example is at:

https://github.com/jwhitlock/web-platform-compat/blob/master/webplatformcompat/models.py#L38
I usually find this construct more explicit/clear in cases like this:

    if not records_class:
        records_class = models.HistoricalRecords

In this case, could we set `records_class=models.HistoricalRecords` in the function's keyword argument definitions?  I know that's not always a good idea, but I can't think of a downside in this case.