[MRG+1] ENH: Add metric support to neighbors_graph

Use non-euclidean metrics for kneighbors and nearest_neighbors graph.
I think we don't want to pass ``n_neighbors`` to ``_check_params``: ``n_neighbors`` is set explicitly in the ``kneighbors_graph`` method call. It's ``metric``, ``p``, and ``metric_params`` which will be the issue. Same comment for ``radius`` below.