Moved timeout() signal connect from requestTimerStart() to constructor.
This is to prevent a request used multiples times from accumulating multiple connections to the timeout() signal.
Added requestMap to keep track of the mapping of KQOAuthRequests and QNetworkReplies.
Added requestTimeout() slot to handle requestTimedout() signals emitted from a KQOAuthRequest.

Use requestMap to map QNetworkReplies to KQOAuthRequest.  This is used in timeout to initiate
an abort() on the QNetworkReply.

Use requestMap to map QNetworkReplies in the slots that are connected to QNetworkReply finished() signals.
This allows the timeout and error handling code to run correctly if multiple KQOAuthRequest are active
at the same time.