Add feature for async tasks to inherit the identity of the calling thread.
Move copy trans to the new Async task framework.
Migrate the Asynchronous Rest service to the new task framework.
Refactor the reindex process to use the new async task framework.

Some issues with the original implementation still remain. This revision does not take care of them.
Rename AsyncHandle to AsyncTaskHandle.
Extract interface for new AsyncTaskManagerService class.

Also change all direct uses of the implementation class to use the interface.
Completely migrate remaining users to the new Async task framework.

Refactored a few tests to conform to the new async framework.