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.
It'll raise TypeError. I'm not sure it's worth testing, but we can.