Implement delete-from-trash

* Edit Controller.deleteMessage() to handle both cases
* Refactored to start from processPendingActionsSynchronous() and
    dispatch to series of smaller methods to handle deletes vs. updates
    and the details of the various specific operations.
* Added processPendingDeletesSynchronous() which looks for delete-from-
    trash and does the right thing locally and/or remotely.

Fixes bug # 1811026
3 files changed