dataframe loc setting str and unicode in python 2.7.11
#### Code Sample, a copy-pastable example if possible

```python
import pandas as pd
d = pd.DataFrame(columns=['bytes', 'str'], data=[['','']])
d.loc[0, ['bytes', 'str']] = ('\xc3\xb1\xc3', u'abc')  # <- raises UnicodeDecodeError

# My current workaround is to set each field separately (via loc or set_value), e.g.:
d.loc[0, 'bytes'] = '\xc3\xb1\xc3'
d.loc[0, 'str'] = u'abc'
```

#### Problem description
The cause to me is quite easy to understand, and is due to the bytes string '\xc3\xb1\xc3' having "non-ascii" characters. Further digging revealed that the line raising the exception is line 517 in `pandas.core.indexing.py`: ```np.array(('\xc3\xb1\xc3', u'abc'))```

The problem is that this prevents a user to set in a relatively fast and concise way
both bytes and unicode strings together. Is it a bug? Is the code posted bad practice (and in case why, and how should the problem be addressed? My current workaround seems clumsy and not efficient)

Thank you

#### Expected Output
```python
d = pd.DataFrame(columns=['bytes', 'str'], values=[['','']])
d.loc[0, ['bytes','str']] = ('\xc3\xb1\xc3', u'abc')  # <- simply should not raise
```
#### Output of ``pd.show_versions()``

<details>


INSTALLED VERSIONS
------------------
commit: None
python: 2.7.11.final.0
python-bits: 64
OS: Darwin
OS-release: 15.6.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LOCALE: None.None

pandas: 0.19.2
nose: None
pip: 9.0.1
setuptools: 32.3.1
Cython: None
numpy: 1.11.3
scipy: 0.18.1
statsmodels: None
xarray: None
IPython: None
sphinx: None
patsy: None
dateutil: 2.6.0
pytz: 2016.10
blosc: None
bottleneck: None
tables: None
numexpr: None
matplotlib: 1.5.3
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: None
html5lib: None
httplib2: None
apiclient: None
sqlalchemy: 1.1.4
pymysql: None
psycopg2: 2.7 (dt dec pq3 ext lo64)
jinja2: 2.9.3
boto: None
pandas_datareader: None

</details>
