Handle exceptions thrown by by-name args to Promise.timeout
Merge pull request #1750 from richdougherty/promise-timeout-exceptions

Promise.timeout doesn't handle exceptions correctly