BUG: fix DataFrame constructor w named Series
closes #7893

Closes https://github.com/pydata/pandas/issues/9232

Problem was passing Series w/ a name to DataFrame w/ the `columns` kwarg.

Before:

``` python
In [55]: x = pd.Series(range(5), name=1)

In [56]: y = pd.Series(range(5), name=0)

In [57]: pd.DataFrame(x, columns=[0])
Out[57]:
Empty DataFrame
Columns: [0]
Index: []

In [58]: pd.DataFrame(x, columns=[1])
Out[58]:
   1
0  0
1  1
2  2
3  3
4  4

In [59]: pd.DataFrame(y, columns=[0])
Out[59]:
   0
0  0
1  1
2  2
3  3
4  4

In [60]: pd.DataFrame(y, columns=[1])
Out[60]:
   1
0  0
1  1
2  2
3  3
4  4
```

after

``` python
In [1]: x = pd.Series(range(5), name=1)

In [2]: y = pd.Series(range(5), name=0)

In [4]: pd.DataFrame(x, columns=[0])
Out[4]: 
   0
0  0
1  1
2  2
3  3
4  4

In [5]: pd.DataFrame(y, columns=[1])
Out[5]: 
   1
0  0
1  1
2  2
3  3
4  4
```

There were two intertwined problems
1. we checked `if getattr(data, 'name', None):`, which returned False when data.name was `False`ish (like 0). I now compare it directly against None.
2. If `data` has a name and the columns kwarg is specified, the constructor returned an Empty DataFrame w/ the column specified in columns. Now, we do what's [documented](http://pandas.pydata.org/pandas-docs/version/0.15.2/dsintro.html#from-a-series):

> The result will be a DataFrame with the same index as the input Series, and with one column whose name is the original name of the Series (only if no other column name provided).
