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 test `bases` being passed a `class` instead of a tuple.  That should probably throw some sort of exception.  Is that even testable?