Version fixes

Here are some changes to improve handling of Kubernetes versioning.
1) Now all commands are able to parse a -version flag.
2) Version generation from git is more robust and more complete.

I like dropping "Version" since it's already in the version module...

I don't really like "Maybe" since that doesn't convey that it's only when the flag is present...

What about version.PrintIfRequested()?

If you have a better suggestion for the "IfRequested" that doesn't imply this is non-deterministic I'd be happy to change it :-)