Timeout with Python 2.5 compatibility

I've implemented timeout support that uses httplib's timeout from Python2.6+ and sets the timeout directly on the HTTPConnection socket in previous versions of Python. I've also added a 'retry_timeout' argument that determines whether or not the request is retried when it times out.