FIX: define `DataFrame.items` for all versions of python
Closes #13918, #17213

This leaves a slight semantic difference between `dict.items` and
`DateFrame.items` in python2, however there is no code currently
expecting `DataFrame.items` to return a list and in python3 there is
no `dict.iteritems`.

This eases writing 'native' python3 code that also runs under python2.

Do you want a whatsnew for this?

- [x] closes #xxxx
- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry
