Changes:
- Remove `affinites` from `TSNE` construction, allow custom affinities and initialization in `.fit` method. This improves the API when dealing with non-tabular data. This is not backwards compatible.
- Add `metric="precomputed"`. This includes the addition of `openTSNE.nearest_neighbors.PrecomputedDistanceMatrix` and `openTSNE.nearest_neighbors.PrecomputedNeighbors`.
- Add `knn_index` parameter to `openTSNE.affinity` classes.
- Add (less-than-ideal) workaround for pickling Annoy objects.
- Extend the range of recommended FFTW boxes up to 1000.
- Remove deprecated `openTSNE.nearest_neighbors.BallTree`.
- Remove deprecated `openTSNE.callbacks.ErrorLogger`.
- Remove deprecated `TSNE.neighbors_method` property.
- Add and set as default `negative_gradient_method="auto"`.