Test proxy behavior when origin server disconnects

Add a test for a CONNECT proxy where the remote server closes the
connection, and then we try to reuse it.
make sure we send connection: close header (should probably consider testing
all 3 ways connection might close)
Fix reconnecting, through a proxy, to a closed connection
treat closed connections as dropped
Since appengine (and possibly other) environments may not have
the conn.auto_open attribute, don't rely on its presence (use getattr to read
it).
catch socket.timeout exception
use an event
dont pass forward the url for now
Formatting and FIXME.
Merge pull request #399 from jschneier/catch_socket_timeout

Wrap `socket.timeout` exception with `urllib3.exceptions.ReadTimeoutError`.
CHANGES for #399
fix test failures on newest pythons
Merge pull request #402 from jschneier/fix-test-failures

fix test failures on newest pythons
Update comments for auto_open references
You might already be using urllib3!
Merge pull request #369 from cg2v/proxy-reconnect-test

Test proxy behavior when origin server disconnects.
CHANGES for #366, #369
Formatting.
speed up tests
clean up some duplicated logic
always caught in the connection now
source address checking has been centralized
Don't include pyc files in packages

Fixes #405