Implement support for passphrase-protection of private keys.

Annoyingly, this requires an on-disk format change to store the salt
and nonce for the symmetric encryption of the private key, but oh well.