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
ACK, will fix. But basically, we want to invoke remoteTask only once, as on task-update, the jobKey is "reused", hence, "this" task (that is canceled or whatever) might remote "that" task (that superseded it, and is scheduled under same key). This is basically to remove the "bad" task from persistent storage only once.