Add Promise.timeout()