[MRG] ENH: Patches Nearest Centroid for metric=manhattan for sparse and dense data

Fixes https://github.com/scikit-learn/scikit-learn/issues/743

I have also added a utility for calculating the median of csc sparse matrices, since NumPy does not handle it and it is not a trivial one-liner
the other metrics are supported in the `predict` method. the question is that if the manhattan metric means that the average should be the median, or should we have a separate keyword for the `centroid`. Basically this comment (https://github.com/scikit-learn/scikit-learn/pull/3772#issuecomment-59105490)