DataFrame.from_dict automatic dtype conversion?
I would expect this syntax to work without problems

```python
import pandas as pd
d = [{'a':'1','b':'2'},{'a':'3','b':'4'}]
pd.DataFrame.from_dict(d, orient='columns', dtype={'a':int,'b':int})
```

#### Expected Output
Expected DataFrame:
```
       a  b
    0  1  2
    1  3  4
```
with dtypes:
```
    a    int64
    b    int64
    dtype: object
```

Instead, the output is
```
/usr/lib/python2.7/dist-packages/numpy/core/_internal.pyc in _makenames_list(adict, align)
     24     for fname in fnames:
     25         obj = adict[fname]
---> 26         n = len(obj)
     27         if not isinstance(obj, tuple) or n not in [2, 3]:
     28             raise ValueError("entry not a 2- or 3- tuple")

TypeError: object of type 'type' has no len()
```

#### Output of ``pd.show_versions()``

<details>
# Paste the output here pd.show_versions() here
INSTALLED VERSIONS
------------------
commit: None
python: 2.7.9.final.0
python-bits: 64
OS: Linux
OS-release: 3.19.0-68-generic
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_GB.UTF-8

pandas: 0.18.1
nose: 1.3.4
pip: None
setuptools: 26.1.1
Cython: 0.24.1
numpy: 1.8.2
scipy: 0.14.1
statsmodels: None
xarray: None
IPython: 5.1.0
sphinx: None
patsy: None
dateutil: 2.2
pytz: 2015.7
blosc: None
bottleneck: None
tables: None
numexpr: None
matplotlib: 1.4.2
openpyxl: 2.3.5
xlrd: 1.0.0
xlwt: None
xlsxwriter: None
lxml: 3.4.2
bs4: 4.3.2
html5lib: 0.999
httplib2: 0.9.2
apiclient: 1.5.3
sqlalchemy: 0.9.8
pymysql: None
psycopg2: None
jinja2: 2.8
boto: 2.34.0
pandas_datareader: None

</details>
