Miscellaneous speedups and bugfixes

Follows #84 for python 3 compatibility

 * DictList is faster and better tested
 * Model.copy() is now faster
 * Added model.repair function which regenerates DictList indexes. More repair options can be added to
    this function later