Moved the AbstractArchive task execution functionality to a new TaskManager class. This will be used by other classes such as the DataRepository/DataArchive class.
Changed TaskManager to  have an internal task scheduler instead of a task factory