Update dependencies.
Add failing tests for #22.
Fix #22: allow promises that are functions.
Only extract the `then` method once.
Version 1.4.1