Encryption

This PR exposes encryption out to the users from the memberlist level. This PR adds:

* `serf agent` now has an `-encrypt` flag which takes a base64-encoded encryption key. If this is set, encryption is enabled. Configuration files can use the `encrypt_key` key.

* `serf agent` output now says if encryption is enabled or not.

* New command: `serf keygen` outputs a cryptographically suitable encryption key, ready for input to the `-encrypt` flag to the agent.

* Docs for all of this.