Add compose-from hook.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
Don't run before-add-message hook for messages already in index.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
Add sent-save-to hook.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>

Conflicts:
	lib/sup/sent.rb
[MAILDIR] Fix assumptions about drafts and deleted messages in threads.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
[MAILDIR] Add draft-save-to hook, to save drafts to Maildirs.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>

Conflicts:
	lib/sup/maildir.rb
[MAILDIR] Implement moving message between Maildir sources based on label.

To use this functionality, in config.yaml, you need a new option
:maildir_labels:

    :maildir_labels:
      :stanford: [[:inbox, 4], [null, 6]]

The value of this option is a dictionary of "accounts" to lists of
precedences.  Read it as follows:

    For messages in source 4 or source 6 (consult sources.yaml),
    if the message has the :inbox tag, move it to source 4, otherwise
    move it to source 6.

This will automatically start working for any new mail you change the
labels of.  In order to apply this to old mail, you need to run
sup-sync-back-maildir.  If you're going to move a lot of mail, you
probably want the companion patch "Write moves between Maildirs to
'mv' directory, for OfflineIMAP" which enables efficient same-server
IMAP moving.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>

Conflicts:
	lib/sup/maildir.rb
	lib/sup/message.rb
[MAILDIR] Write moves between Maildirs to 'mv' directory, for OfflineIMAP.

This doesn't do anything (except fill up disk space) unless you
have an extra patch for OfflineIMAP, which you can find here:

    https://github.com/ezyang/offlineimap

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
[HACK] Unconditionally disable crypto

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
[HACK] Remove obsolete monkeypatch.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>