[MRG+1] Multi-output scoring, or 2493 cont'd for real

This time taking into account the refactoring of metrics.py into several files.

This replaces https://github.com/scikit-learn/scikit-learn/pull/3456, which I closed.
When I asked Lars, the same question he did say `np.einsum` he said the same thing, it affects readability. since optimisation is not a big issue here, don't you think just a dot product would do?