`Promise#timeout`: clear the timeout once the promise is resolved/rejected.

This keeps us from holding on to the `Promise` for the full timeout period.

Closes: #3