refactor krun options to use JCommander

Refactor krun to remove most of the static state, and use JCommander to parse the options. This commit is not yet tested, so please do not review yet. I just want to invoke Jenkins on it.