feat(token): add first command: token

Besides the token command, this includes much of the underlying
design that all commands will build off of.
Potentially a follow-up bug, but it would be nice to prompt for this if missing, or if the option is specified without a value.  I just went to try it out and putting an actual password in command-line args gave me the shivers.