Add more extensions to clean up the structure of class
Update Thenable support
Merge remote-tracking branch 'gh/develop' into develop
## Progress
APlusPromise to AnyPromise
Implement a simple progress API
Simply supress compile error after modified protocol thenable
Simplify thens
Make fraction work
Add catch to return Promise<V>
sync the statement may called by more than one thread
Test progress for all & race
APlusPromise to AnyPromise
Update README for test_thenable
Implement progress on AnyPromise
Stop useless progress propagating
Solve Promise<Void> catch((NSError)->V) ambiguous with
catch((NSError)->Void)