Hdffixes
This fixes #12221 and #10381 . Same source file, but let me know if you want separate PRs.

these changes are separate

the iterable a ones don't have tests
 Yes, they are separate: do you prefer separate PRs?

The iterable one has test at line 394 of `pandas/io/tests/test_pytables.py`.
 separate

the iterator one needs to inherit from BaseIterator
 OK, now repushing them separately. But BaseIterator is not a meaningful ancestor for HDFStore itself, since the latter can be iterated more than once, i.e. doesn't have state (i.e. doesn't have `__next__`).
 Replaced by https://github.com/pydata/pandas/pull/12251 , https://github.com/pydata/pandas/pull/12252 , https://github.com/pydata/pandas/pull/12253
