cli: improve delete command

 - add support for deleting drafts, received, and sent messages
 - require confirmation for deleting messages as well as contacts
 - doesn't delete pending outbound messages - they must be aborted instead
Avoid casting in type switch and don't crash when deleting drafts without a destination.
Merge branch 'leif-cli-delete-command'