Added cosine distance metric for sparse matrices

- Added 'cosine_distances' function to sklearn.metrics.pairwise.
- Added 'cosine' as metric in 'pairwise_distances' function.
- Corrected doc string of same function, because all metrics based on
the 'manhattan_distances' function (i.e. 'cityblock', 'l1', and
'manhattan') do currently NOT support sparse matrices.
- Added corresponding corresponding unit test.
added missing assert in unit test
Fixed doc string; compute cosine distance without copying matrix.
DOC make DictVectorizer docstring refer to FeatureHasher

... instead of to itself.
FIX remove warnings from univariate FS

These warnings are issued practically always when using
frequency-valued or boolean data.

Switched to a stable sort to get reproducible results.
Merge pull request #2368 from emsrc/cosine_distance

Cosine distance metric for sparse matrices
Merge pull request #2369 from larsmans/no-warnings-in-fs

[MRG] remove warnings in univariate feature selection
ENH: add fast_dot function
employ DataConversionWarning
FIX: avoid zero-dvision warnings
FIX: fix test warning
better handling of warning in test
COSMITS
FIX: workaround for missing BLAS
ENH: return np.dot if ndim does not match
CLEANUP
FIX: remove spurious test
ENH: add fast_dot shape check
ENH: cover another cornercase + fix messages
ENH: add new Warning class, improve tests, update docs