Modified sklearn/semi_supervised/label_propagation.py to accept cosine similarity as its kernel

This update enables semi_supervised to accept cosine similarity as its kernel.

I think semi supervised learning is a good option to classify text documents, which requires cosine similarity as its kernel to achieve better accuracy because the feature vectors from text documents go very sparse.