Fixes infinite CPU loop when tunneling for py26.

The bug was in the http standard library for py26. Sometimes the ``_tunnel()``
function entered an infinite while loop due to incorrect assumptions made
on data read in. Especially affected users that were using proxies.

I tested the fix on the VPC that reproduced the bug.  It worked fine and I did not see any additional errors that were seen in previous attempts to fix bug.  Tests are included to ensure bug is fixed.

cc @jamesls @danielgtaylor 
Agreed