print debug messages to stderr, not stdout
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.
Improve README accuracy, including note of non-commercial core