`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, #4