Changes related to task cancellation

Changes:
* Scheduler will NOT allow update of running but non-cancelable tasks
* proper handling of updates of running and cancellable tasks (cancel, update config, restart)
* EndState and eventing reflecting what tasks "knows" (ie. is unaware of cancelation)
* Future.cancel(true) will now behave as documented: with true will interrupt the thread if task being canceled is not cancelable (but doing that is dangerous)
* logging related improvements (basically https://issues.sonatype.org/browse/NEXUS-7802)

YUM related fixes:
* YUM tasks made cancelable, by working into unique temp folder (to not interfere with each other), and as last step, moving in the data if not canceled

CI
http://bamboo.s/browse/NX-OSSF444
There's a slim chance that between checking `jobExecutingThread` is not-null and actually using it the job thread completes and sets it to `null`. To avoid this store the current value of the volatile field in a local variable which you then check is not `null` before accessing the same local variable.