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've added a second commit that uses your style.  The commits can be squashed before merging, but I didn't want to lose the github discussion.

Adding `records_class=models.HistoricalRecords` in the function definition would require moving the import of `models` outside the function.  The tests run fine, but packaging breaks due to trying to process models without a Django context.  It might work if register was moved to another module, or the import statement was more specific.  Maybe.