server: sweep and remove old files.
client: try locking file first.

This saves a pointless one second pause in startup.
client: pause after fatal error.

Previously, the error would be displayed very briefly before the client quit.
client: support a new message format.

The change adds support for a new message format. Previously, messages were
NaCl boxes. In the new format, an ephemeral public key is placed in a NaCl
box and then the previous box is appended, using the ephemeral public key.

The upshot of this is that compromising the sender is not sufficient to
decrypt the message - previously it was. This is rather moot, of course,
if the message is in the sender's outbox anyway. Thus the benefits of
this change are pending an option to not saving some outgoing messages in
the outbox.