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
You could use double-checked locking here to avoid potential repeated/overlapping calls into `quartzSupport.removeTask` (ie. test flag, synchronized block, re-test flag). But if it's ok to call `removeTask` multiple times then you don't need this.