Krun options

**please review**

* use JCommander for krun
* clean up krun frontend to be more generic
* fix some hacky behavior in some of the options
Is this really how we want to report a failure? (I'm not against it but we had problems in the past, about uncaught exceptions with unhelpful messages to the user)

Maybe we need something like "please file a bug report this this info" message.

Another thing that may be a problem is that we don't re-throw the exception. (although that may not be a problem in this case since this will be run on shutdown)

Since this is probably not the only place where we just print stack trace and ignore the exception, we can probably ignore this for now and fix them all later.