TJ/HM: Allow empty buildRequests; Sleep 1 second after retrying
HM: BuildRequest may return a tuple with another host and port which is used in tryConnect
HM: Added yield to fix StopIteration errors if no requests possible
TJ/HM: Use dict as returnValue of buildRequest
TJ: JsonDict and JsonList.
HM: Improved error message