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
this part am unsure: task, context and thread (but I modified that in some of the last commits) are set _only when task is running in execute() method. Basically this check is only to ensure that "support class tries to cancel the task only while it's running", not before and not after.

Again, am unsure as there are at least 2 member variables inited (being non-null) only during run. I bet this could made in nicer way.