A pretty major refactoring of the Whoosh engine to incorporate caching. Also included logic to interleave results