Fix crash in older versions of Go.

It seems that some versions of the io package don't work well with nil
errors.

This change also replaces a link+remove with a single rename call.
Merge branch 'schulze-master'
doc/threat.html: contacts learn about revocations
Add contacts command and fixup output formatting
Add four new commands to the CLI.

This commit adds 'outbox', 'inbox', 'drafts', and 'queue' to the CLI.
Remove extra newline before outbox summary.
refactor out duplicate code
fixup documentation
Add Remove and Rename Contact commands

The syntax for these commands is:
mv-contact oldName newName
rm-contact name
Fix up contact rename and delete commands.

1) The commands didn't use the current context at all.

2) The delete command corrupted the state file.
Fix server unittests.
Formatting fixes.
Clear current object after deleting a contact in the CLI.
Add an abort command.

Adds an abort command to cancel unsent messages, which are returned to Drafts.
Cleanups for aborting message send in the CLI.
Added context-aware help
Tweaks to the context-aware help.
Added --all option to help command
Add note, name and link about PANDA
Added clear command to clear console