rewrote library to use TPL tasks as futures
extended tpl futures and updated test cases
removed usage of TaskStatus
transition to purely Task-based futures
migrated to ManualResetEventSlim