created `name_authentication_string_dict` from all subclasses of `Messages` in `vendors/__init__.py`, for the lookup mentioned above.
Implement architecture discussed in #131, deciding whether to use `Messages` or a subclass of it in `Imbox.messages` based on the `Imbox.vendor` value. Use the `folder_lookup` dict, present on `Messages` but only filled in on its subclasses, to select the right folder based on a lowercased "standard" name given as the value of `folder`.
created a blank `folder_lookup` on `Messages`.
filled in the first vendor that subclasses `Messages`, `GmailMessages`. It contains class attributes `authentication_error_message`, `hostname`, `name`, used for purposes described above, as well as `folder_lookup` which is a dict containing aliases, sometimes several, for Gmail's unique folder naming scheme. These aliases are meant to be "human-friendly" for intuitive `folder` selection in calls to `Imbox.messages`.
fixes#131.
Fixed var names in documentation of query keywords
moved Messages and Imbox to their own modules, imported Imbox.imbox into __init__.py and put it in __all__. fixes#130.
clarified in documentation and Imbox.messages logging that, unless a folder is specified in the kwargs to Imbox.messages, the returned messages will be from the inbox. In the documentation this is accomplished exclusively by the var names. fixes#128.
amended `8df7d7c` to reflect manual changes made to `README.rst` in current master, but also added `inbox_` to several var names to make that explicit in the documentation. Added flags to messages returned by `fetch_email_by_uid`, using the new function `parse_flags` in `parser.py`. Fixes#126.
added TODO back into query.py
Moved `fetch_list` to `Messages` and renamed `fetch_email_list`, moving assignment of uid_list to the constructor of `Messages`.
Moved `fetch_by_uid` from `Imbox` to a pure function in `parser` module.
Replaced call to `Imbox.fetch_list` with a call to `Messages` instead.
created `Messages` class, which encapsulates the generator `Messages.fetch_email_list`, while also implementing `__len__` to show how many emails match a given query, and `__iter__` to refresh the `fetch_email_list` generator when it's exhausted. It also implements `__getitem__` to support indexing of the emails matching a query. Messages requires the `connection` and `parser_policy` established in `Imbox` and accepts arbitrary keyword arguments, which it uses in the IMAP query as well as in the `__repr__`.