Support specifying the principals in use

Allows you to change or add the user names that the user using this
certificate is allowed to use. If you got creative with your systems you
could use this to very finely control which nodes a certificate granted
you access to.
Cleanup syntax of argparse

Make it easier on my eyes
Add functionality for signing host keys

Works similarly, but obviously differently, from signing user keys. The
restarting of sshd on the remote server doesn't appear to work reliably.
Not sure why yet. Everything else appears to work right.