ERR: Add check for iterators when creating DataFrame, fixes #5357
This is a fix for #5357, and adds a more helpful error message when trying to use an iterator as the `data` argument for a `DataFrame`. I've added the type check for iterators in the final else clause where all the valid options have already been exhausted, so it shouldn't interfere with any valid cases like passing a list of iterators.

Thanks for the PR! One key thing this needs is a test case demonstrating the error. Also, stylistically, it would be nicer/clearer to move this up a level (ie as an elif rather than a nested if). Would you mind making that change?

When the above is addressed we can mergw
 Alright, I've added a (simple) test case to `test_frame.py` and moved the type check up two levels, since that's where the rest of the explicit type checks are happening.
 @onesandzeroes looks great - can you repush your branch so Travis can retry the tests? The build failed because of unrelated network issues.
 @onesandzeroes pls add a release notes in the API section referecing the issue, other looks good
 Alright, should be all set now, thanks for walking me through the steps that needed to be done!
 gr8!

if you want to try your git-fu, squash down to 1 commit (if you can't I will do it...but good practice)

see here: https://github.com/pydata/pandas/wiki/Using-Git

ping me when squashed / green
 OK, should be squashed into a single commit now.
 @onesandzeroes thanks for the PR!
