added aggregated exception
added ActivityMonitor
added WaitAll
updated so Waits copy futures and then perform the wait outside the lock, allowing additional Adds to occur
added Exists check prior to delete
updated so TempDir is assigned a path based on GetTempPath vs the current working directory