`DataFrame.from_dict()` does not behave as documented.
`DataFrame.from_dict` does not seem to behave [according to the documentation](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.from_dict.html).   

```
import pandas as pd

print("pandas.from_dict(<dict>, orient='index')")
print(pd.DataFrame.from_dict(dict([ ['key1', 1],['key2',2] ]), orient='index'))

print("pandas.from_dict(<list [<list>]>, orient='columns')")
print(pd.DataFrame.from_dict([ ['key1', 1],['key2',2] ], orient='columns'))

print("pandas.from_dict(<dict>, orient='columns')")
print(pd.DataFrame.from_dict(dict([ ['key1', 1],['key2',2] ]), orient='columns'))

```
#### Produces

```
pandas.from_dict(<dict>, orient='index')
      0
key2  2
key1  1
pandas.from_dict(<list [<list>]>, orient='columns')
      0  1
0  key1  1
1  key2  2
pandas.from_dict(<dict>, orient='columns')
Traceback (most recent call last):
  File "../../bin/pandaserr.py", line 10, in <module>
    print(pd.DataFrame.from_dict(dict([ ['key1', 1],['key2',2] ]), orient='columns'))
  File "/home/cwarth/.local/lib/python2.7/site-packages/pandas/core/frame.py", line 804, in from_dict
    return cls(data, index=index, columns=columns, dtype=dtype)
  File "/home/cwarth/.local/lib/python2.7/site-packages/pandas/core/frame.py", line 226, in __init__
    mgr = self._init_dict(data, index, columns, dtype=dtype)
  File "/home/cwarth/.local/lib/python2.7/site-packages/pandas/core/frame.py", line 363, in _init_dict
    dtype=dtype)
  File "/home/cwarth/.local/lib/python2.7/site-packages/pandas/core/frame.py", line 5158, in _arrays_to_mgr
    index = extract_index(arrays)
  File "/home/cwarth/.local/lib/python2.7/site-packages/pandas/core/frame.py", line 5197, in extract_index
    raise ValueError('If using all scalar values, you must pass'
ValueError: If using all scalar values, you must pass an index
```

According to the reference documentation, "If the keys of the passed dict should be the columns of the resulting DataFrame, pass ‘columns’"  That doesn't appear to be what is happening.
#### Expected Output

`from_dict(<dict>, orient='index')` works as expected.  
I would expect `from_dict(..., orient='columns')` to return a  dataframe with the dictionary keys forming the column index, like this:

```
      key1  key2
0   1        2
```

I would expect  `from_dict()` to take a dict as a parameter in either case.   Instead it appears to take a a dict for `orient='index'` and a list of lists (or tuples) for `orient='columns'`.  Passing a dict with integer values when `orient='columns'` causes  a crash.
#### output of `pd.show_versions()`

```
INSTALLED VERSIONS
------------------
commit: None
python: 2.7.6.final.0
python-bits: 64
OS: Linux
OS-release: 3.13.0-45-generic
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8

pandas: 0.17.1
nose: 1.3.6
pip: 8.0.2
setuptools: 18.8
Cython: 0.23.2
numpy: 1.10.4
scipy: 0.15.1
statsmodels: 0.6.1
IPython: 4.0.3
sphinx: 1.2.3
patsy: 0.3.0
dateutil: 2.4.2
pytz: 2015.7
blosc: None
bottleneck: None
tables: 3.1.1
numexpr: 2.2.2
matplotlib: 1.5.0
openpyxl: 2.2.0-b1
xlrd: 0.9.4
xlwt: 0.7.5
xlsxwriter: None
lxml: 3.3.3
bs4: 4.3.2
html5lib: 0.999
httplib2: 0.9
apiclient: None
sqlalchemy: 1.0.11
pymysql: None
psycopg2: None
Jinja2: None
```
