Refactored to IAwaiter<T>
Added TakeFromAny() prototype
Added a few tests to cover TakeFromAny()
Fixed minor formatting issues
Exclusive awaiters are created lazily to avoid unnecessary allocations
Dropped unnecessary object references
Minor refactoring
Added regions and summary comments
Refactored to TryTakeFast
Added a fast route that avoids queueing a bunch of awaiters until it's really necessary
Added a test to ensure the fast route is working
Dropped unnecessary properties
Renamed AnyResult.Result to AnyResult.Value
Added parameter validation
Dropped unnecessary async from TakeFromAnyAsync implementation
Doing nothing if the cancel token has been canceled before the method call
Added more summary comments
Merge branch 'take-from-any'