Introduce CancellablePromiseInterface
Hide arguments from nested cancel() call
Ensure promise is only cancelled if all derived promises cancel
CS fixes
Avoid unnecessary creation of closures when no canceller is given
Merge branch 'master' into cancellable-promise
Add return tag to cancel()
Make CancellablePromiseInterface extend PromiseInterface
Merge pull request #20 from reactphp/cancellable-promise

Cancellable promise
Prepare changelog for v2.1.0 release
Merge branch 'master' into extended-promise

Conflicts:
	CHANGELOG.md
	README.md
	src/Deferred.php
	src/FulfilledPromise.php
	src/LazyPromise.php
	src/Promise.php
	src/RejectedPromise.php
	tests/PromiseTest/FullTestTrait.php
	tests/PromiseTest/PromiseFulfilledTestTrait.php
	tests/PromiseTest/PromisePendingTestTrait.php
	tests/PromiseTest/PromiseRejectedTestTrait.php
	tests/PromiseTest/PromiseSettledTestTrait.php