[ktest] simplification and refactoring

I finally made the changes that I had in mind for a while.

* Instead individually passing settings, `KTestOptions` object is passed between classes. This became a problem after we had more and more global settings.
* I removed string constants. Since they can't be used in annotations, most of them were left unused after moving to JCommander. For uniformity I removed the rest.
* Some various unused stuff removed.
* Injected `KExceptionManager` is used instead of the one from `GlobalSettings`.

Just to make sure I'll run test suite on Windows manually.
You can't do this. It will interfere with the ability to statically detect that the KTestOptions dependency is not satisfied. Please leave this constructor.