MRG adding SomeScore objects for better (?!) grid search interface.

This is hopefully my last shot at adding more advanced score functions, as discussed in the other PRs and the ML.

Compare to #1198 and #1014.

This is sort of a draft (again) and it would be great if I could get some feedback before going further.

This PR basically implements a new interface in GridSearchCV using callable score objects with an ``(estimator, X, y)``
signature. To create these objects I introduced an internal factory-style function.
The idea would be to either pass a string or a callable object to GridSearchCV.

~~At the moment, I complicated things a bit by keeping ``score_func`` as the parameter name in ``GridSearchCV``. I think it might be better to deprecate it and add a new ``score`` parameter.~~


~~I am not sure if I am entirely happy with this. The factory seems a bit overly complicated, but maybe that is a matter of taste. Alternative suggestions welcome. It feels a bit as if decorators would be a more natural.~~

I am happy now.