Require PHP >= 5.4.0
Change variable names to follow the A+ specs
Add callable typehints

Also removes trigger_error's for non-function arguments and related tests
Get rid of When/Util classes and move its methods to functions
Remove ResolverInterface and PromiseInterface from Deferred
Refactor common promise tests into traits
Remove PHP 5.3 versions from .travis.yml
Replace array() with short syntax
Add standalone Promise class
Let Deferred use Promise class
CS fixes
Update readme for new Promise class
Ensure FullfilledPromise/RejectedPromise are not created with a promise
Fix branch-alias
Fix typo in filename/classname
Update changelog
Add FulfilledPromise and RejectedPromise to API docs
Extend and restructure readme
Revert phpunit php notice setting
Remove unneeded toClosue()