Throw errors when not "then"ing a function
Allow returning a promise from a "then"ed function
Create new Promise instances in a then to allow for chaining asynchronous callbacks
Update npm release