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.
Improved unit test for tunneling bug.
Merge pull request #338 from kyleknap/tunnel-fix

Fixes infinite CPU loop when tunneling for py26.