thin out dimension reduction functions, add algorithm argument
thin out dimension reduction functions, add algorithm argument

There is now only one PCA function. Sparse encoding was not used
(didn't work).

The pca_algo argument says what sklearn.decomposition class to use.

Also, try to normalise in place, saving memory.

douglasbagnall/py_bh_tsne,douglasbagnall/py_bh_tsne