use JCommander in kompile

Please review only commit a8f9444. The others belong to pull request #295 and will be rebased out before merging.

This change:

* replaces the old Apache CLI parser for kompile with a new one using JCommander
* removes all kompile-specific settings from GlobalSettings and uses instance instead of static state to obtain the relevant settings
* serializes and deserializes kompile options to krun and merges the backend flag into krun's settings
* modifies the usage pattern of the Stopwatch to make it more compatible with the instance state
* breaks kcheck; we are deprecating this tool and it was completely impossible to fix it in the new architecture, because of its undesirable reliance on static state
* breaks code which attempts to access "--" options with only one "-"
* breaks code which attempts to specify arguments to a parameter with an "=" (except -cFOO=bar)
* renames experimental options to begin with an X
* possibly some other small stuff?

This isn't ready for review quite yet, I'm just creating the pull request to utilize Jenkins.