[Memory] Add UniquePtrUtils.h and MakeUnique() function template.
[Task] Change the TaskHolder in TaskImpl from shared_ptr to unique_ptr.
[Concurrent] Add QueueWithSnapshot().
- Add LockedSequence class.
[Task] Implement Task::Then() (not complete yet).