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.
Actually, I just realized what you were suggesting. Using the 'register' utility adds coverage to that area at the same time.