allow pipe multi futures
Rename Done, Fail, Always to OnSuccess, OnFailure, OnComplete
1. Rename WhenAnyTrue to WhenAnyMatched
2. Add NoMatchedError to present no matched future in WhenAnyMatched operation
Add callback function for Cancelled status