[MRG] Let OneVsOneClassifier use list of targets

Fix for #3863 
If we do

```python
y = np.asarray(y)
```

there will be a side-effect modifying the object ```y``` which was passed to the fit function. Is that standard practice? I'd normally avoid modifying user input unless there is a good reason for it.