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.
Should we use `HistoricalRecords` in the test like in the documentation?  Does it matter?