Bug in invalid values of errors argument in pd.to_numeric
#### Code Sample, a copy-pastable example if possible

```python
s = pd.Series(['apple', '1.0', '2', -3])

# both code work
pd.to_numeric(s, errors='abc')
pd.to_numeric(s, errors='coerce')
```
#### Problem description
If there is a typo or any value assigned to `errors` argument other than `raise` nor `ignore`, it will be considered as `coerce`.
I track down to the source code, it turns out pandas doesn't check valid values for this argument.

#### Expected Output
An error should be raised.
