DataFrame.from_items clean-up

- Improve docstrings and error messages
- Convert final `elif` to `else`
Merge pull request #2757 from dandavison/dataframe_from_items_cleanup

DOC: DataFrame.from_items clean-up