pagegenerators: typing cleanup
pagegenerators: typing cleanup

mark `recurse` parameters as accepting bool or int, to match docs and
implementation.

Use Iterator instead of Iterable for most return types. All iterators
are iterables (has __iter__), but not all iterables are iterators
(has __iter__ and __next__). Generator functions and expressions return
iterators, and it's usually best to be specific about return types.

Change-Id: I8bf21d683ef746e3bb5a1de6ff80efe17ebccaae

wikimedia/pywikibot-core,wikimedia/pywikibot-core