* Knn retrieval made more efficient by switching from multi-processing to multi-threading. Memory savings depend on OS and core count.
* Fixed issue where saved ivis models would attempt to load the index at the path they were saved with - this can't be relied on when the index is temporary and deleted after use.
* Fixed issue where Annoy Index metric parameter was not passed to an index that was loaded from disk.
* A few other things changed, including better error handling, cleaner code, and allowing for saving AnnoyKnnMatrix via pickle