[WIP] Add multioutput support to nearest neighbors

I needed to have multi-output support for knn regressor and classifier.
This could be useful for others.

More and more estimators support multi-output data, so I have added test to check that `GridsearchCV`, `RandomSearchCV` and `cross_val_score` works with multioutput data. 
Finally, I re-work the face completion example.

![temp](https://f.cloud.github.com/assets/1274722/811273/ecd13100-eece-11e2-9b97-0131ff82c7f2.png)