Implement command-based CLI, and start cluster-bringup

This change adds a CLI styled after the Go tool chain, with a design
inspired by that system. It adds 4 new commands, 'run',
'create-cluster', 'join-cluster', and 'version'. Full help is also
supplied.

Local-mode 'run' is fully functional, and 'create-cluster' also works.
OK, I decided to go with your suggestion that if there is no file come up in 'local' mode, and not bother writing a file. I mean the logic "come up in local mode if there is no file" needs to be there anyway, so might as well use it as the *the* way to flag local.