added a `listids` method for "lazy loading" messages

I've been using easyimap with over 6k worth of messages, and parsing all of them in `listup` was taking rather long--especially since I only needed to act on ones I'd not yet processed.

`listids` is code from the core of `listup`, but usable on its own. Here's an example:

    for id in imapper.listids(10):
        if id in processed:
            continue
        else:
            mail = imapper.mail(id)

Pseudo code, but hopefully shows the value. :grinning: