Series.str.decode() turns arrays of strings to NaN and fails on byte strings
Hello, 

this looks like a bug:

```
x = np.array(['x','y'])
pd.Series(x).str.decode(encoding='UTF-8',errors='strict')
0   NaN
1   NaN
dtype: float64
```

the line above is also used in pytables.py:

[data = Series(data).str.decode(encoding, errors=errors).values](https://github.com/pandas-dev/pandas/blob/55d176d1cd624f8921379c0ceed06fb8e00625b9/pandas/io/pytables.py#L4698)

... and leads to an error when reading hdf-files written with pandas <0.23
In some cases the text data was stored as byte string (i.e. 'x = np.array([b'x', b'y']) )
which raises the following:
```
AttributeError: Can only use .str accessor with string values, which use np.object_ dtype in pandas
```
