Add support for rate-limiting failing asynchronous requests made by TwistedHTTPTransport

This makes a distinction between async and synchronous transports and adds callbacks so that async transports can properly report failures.