Properly sync back draft deletions for generic IMAP.

Summary:
The previous implementation of this would try to figure out the IMAP uid of the
draft to delete by looking for a recoonciled message object and getting its
IMAP uid. This has some problems -- it only works if the account's drafts
folder has been fully synced; it will take forever on large databases because
it tries to filter messages by the version column; and it won't work at all now
that we don't do any message reconciliation.

Instead, implement draft deletions the way we do for Gmail, by directly
querying the IMAP backend to figure out the IMAP uid to delete. A complication
is that Yahoo at least doesn't appear to support searching by message headers.
We work around this by fetching the X-INBOX-ID header for all uids in the
remote drafts folder, and doing the filtering client-side.

Fixes T335.

Test Plan:
Verify that draft deletions are synced back for Yahoo and Outlook
test accounts.

Reviewers: kav-ya

Reviewed By: kav-ya

Maniphest Tasks: T335

Differential Revision: https://review.inboxapp.com/D442

Conflicts:
	inbox/crispin.py