[WIP] Cleaned up implementation of t-SNE and SNE

This pull request contains a revised implementation of t-SNE that is substantially more reliable and a new implementation of SNE, which is very closely related to SNE. I'm going to ponder it for a day or two before merging it, but it should be usable as is.