Implemented timeout on HttpClient.

Added a property which helps differentiate between a timeout and when
the user requests cancellation.