Iterrows making incorrect assumptions about datetime
This is a very obscure bug in a corner-case, but it's still a bug which I ran into. It's easiest to understand by seeing it in action. I'm running **pandas version 0.17.1**.

```
>>> import pandas as pd
>>> import datetime
>>> df = pd.DataFrame({'a': [datetime.datetime(2015,1,1)], 'b': [None], 'c': [None], 'd': [''], 'e': [[]], 'f': [set()], 'g': [{}]})
>>> df
           a     b     c d   e   f   g
0 2015-01-01  None  None    []  {}  {}
```

The key to causing the bug is a row which starts with a datetime obj followed by at least two None's. Following that is any number of empty strings, empty lists, empty sets, or empty dicts. Indexing into the DataFrame by row works fine.

```
>>>> df.iloc[0]
a    2015-01-01 00:00:00
b                   None
c                   None
d                       
e                     []
f                     {}
g                     {}
Name: 0, dtype: object
```

Iterating over the rows using iterrows causes a weird behavior of converting to a datetime dtype with NaT's. **This is the bug:**

```
>>> df.iterrows().next()
(0, a   2015-01-01
 b          NaT
 c          NaT
 d          NaT
 e          NaT
 f          NaT
 g          NaT
 Name: 0, dtype: datetime64[ns])
```

The following properties **avoid the issue** entirely:
1. Having less than two None's following the datetime.
2. Having any of the items after the two None's be "truthy".
3. Including either a zero or a False in the items after the None's.
