DataFrame constructor acts differently with lists and Numpy arrays
Hello,

I noticed a strange behavior when a Numpy array is given to a Pandas DataFrame constructor.
I don't know really if it should be considered as an issue (or a feature)...
but anyway a tip to fix this will be nice.

```
import pandas as pd
import numpy as np
lst = [{'a':1, 'b':2}, {'a':3, 'b':2, 'c':3}]

In []: pd.DataFrame(lst)
Out[]:
   a  b   c
0  1  2 NaN
1  3  2   3
```

but with Numpy array

```
In []: arr=np.array(lst)
In []: arr
Out[]: array([{'a': 1, 'b': 2}, {'a': 3, 'c': 3, 'b': 2}], dtype=object)

In []: pd.DataFrame(arr)
Out[]:
                             0
0           {u'a': 1, u'b': 2}
1  {u'a': 3, u'c': 3, u'b': 2}
```

I was expecting same results. I was expecting a DataFrame with columns named 'a', 'b', 'c' like
when I feed DataFrame with a standard list.

I can "fix" this using

```
In []: pd.DataFrame(list(arr))
Out[]:
   a  b   c
0  1  2 NaN
1  3  2   3
```

I don't think that `pd.DataFrame(list(arr))` is a nice idea... (with a big array it will be probably very long)

Any idea ?

Kind regards
