STI support reindexing and searching

This commit removes previous change made in #163 fixing #190 and supersedes #194
It also adds reindexing support for STI tables and supersedes #197
If I have two STI subclasses `Subclass1` and `Subclass2` and I call this with `Subclass1`, won't it also delete all the search records for `Subclass2`?