Fix and test scalar extension dtype op corner case
Fixes the following behavior in master:

```
ser = pd.Series(['a', 'b', 'c'])

>>> ser + "category"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "pandas/core/ops.py", line 1233, in wrapper
    return dispatch_to_extension_op(op, left, right)
  File "pandas/core/ops.py", line 1163, in dispatch_to_extension_op
    res_values = op(new_left, new_right)
TypeError: can only concatenate list (not "str") to list


>>> ser + "Int64"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "pandas/core/ops.py", line 1233, in wrapper
    return dispatch_to_extension_op(op, left, right)
  File "pandas/core/ops.py", line 1163, in dispatch_to_extension_op
    res_values = op(new_left, new_right)
TypeError: can only concatenate list (not "str") to list
```

and the same for the reversed ops.