Split bic-number-to-string out of bic-format-ranges
Use AVL tree to keep track of existing UIDs

This will be required to handle expunges correctly.  Also, this lets us
display the messages of a mailbox in UID order, rather than by how the
messages are stored on disk.
Handle flag change requests in state :existing

We might get this event in state :existing if it takes a long time to
attempt to establish a connection.
Explicitly decode messages as raw-text-dos

If the message has mixed LF and CRLF line endings, Emacs might not
decode the file as with CRLF endings, which might lead to us not
detecting the blank line between the header and the body correctly.
Let's specify the coding system explicitly to get rid of that
uncertainty.
Enter messages in FETCH responses into AVL tree

This was missing from commit a2f0c92.
Handle EXPUNGE responses while idle

Also keep track of EXISTS number, in order to detect deletion of the
last message in the mailbox.

Still need to handle messages deleted at other times.
Elaborate on "minimal configuration" in README.org