Encrypted data files, using sodium

This lets clients optionally encrypt their save files with a password. Please do not merge into master, but create a new branch. (I cannot make this request myself because Github's PR interface is limited.)

NaCl doesn't have the requisite functions, to this functionality is limited to sodium.

I also haven't tested it, which is why I'm requesting that this be a separate branch.
You may want to use `sodium_memzero()` instead, as the call to `randombytes_buf()` is not only slower, it can also be optimized out by the linker.