This implements a complete rewrite of the gencerts tool, making the
tool suitable not only for generating server certificates, but client
keypairs as well. The following functionality is added:
* Local hostnames and interfaces are not automatically included in the
certificate. This allows clients to generate certificates which do
not leak their network interfaces to remote servers.
* The certificate and key names must be explicitly provided on the
command line after all flags. This allows clients to generate
keypairs with names like "client.pem" and "client.pem.key", rather
than the tool only generating files named "rpc.cert" and "rpc.key".
* The key algorithm may be specified to be any of P-256, P-384, P-521,
or Ed25519. The default algorithm is P-521, matching the previous
gencerts implementation.
The certificate creation code has been added directly to gencerts
rather than modifying the certgen package, since this package is used
by dcrd, dcrwallet, and other Decred servers to automatically generate
keys with all local interfaces pre-included.