[MRG] 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.
Debatable: I saw that `explained_variance` uses the function `_average_and_variance`, and since I wanted to make it multi-target, I had to either add the `axis` keyword to `_average_and_variance` or do something custom in `explained_variance`. I opted for the former, but I can easily also write the 2 necessary lines directly into `explained_variance` as it may make the code cleaner to remove the call to `_average_and_variance`.