Reviewed and fixed commit 39f30ded

Since cache was shared between threads,
it was possible that one thread might erase the cache
before second thread attempted to use it.
Reviewed and fixed commit 3e8bb121

It must be allowed to send cancel request to terminat-ed/ing task.
Reviewed anf fixed commit 56313ad7

Previous state variable access wasn't synchronized.
But there's no need to access it anyway. The forceCancel()
is always called outside of user thread.
Unify TaskParent methods naming convention