Add override for historical model base classes

Replaces #77

Added tests. Changed the override to an iterable per discussion with @treyhunner. Also added the ability to pass configuration arguments through the ```register``` utility to the ```HistoricalRecords``` constructor.
Maybe we should encourage and test passing a list instead of a tuple.  If that's doable, it might cause less errors because `(AbstractBase)` and `(AbstractBase,)` are easy to mix up.