feat($httpBackend): add support for timeout promises

If the timeout argument is a promise, abort the request when it is
resolved.

Closes #1159