cli: add retain and dont-retain commands

note that automatic message deletion currently only happens in the GUI, but I
figured that being able to set the retention flag in the cli is useful anyway.
cli: correct table heading for help --all
threat model: two more things contacts can do
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
add hardcoded receive-hook-command

The command to be executed should be configurable. Perhaps other command hooks
should be added. This feels out of place in network.go.