[MRG] Add multioutput support to nearest neighbors

This pr add multi-output support for knn estimators.

Since more and more estimators support multi-output data, I have added test to check that `GridsearchCV`, `RandomSearchCV` and `cross_val_score` works with multi-output data. 
Finally, I re-work the face completion example.

![completion](https://f.cloud.github.com/assets/1274722/862503/5c5788dc-f5f3-11e2-8074-3490096d8fd9.png)