add isomap

Add isomap for spartan. Use simple strategy that each workers calculate a subset of shortest distance then combine the partial result to a distributed array.

Sklearn used PCA to reduce the dimension of the result, since now I've not figured out how to do PCA in spartan, I just used the PCA of sklearn.