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).
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
Merge pull request #407 from sigmavirus24/fix-manifest

Don't include pyc files in packages
strict is not so special
Merge pull request #406 from jschneier/cleanup

Cleanup duplicated and inconsistent logic.
Start accepting extra socket options
Set defaults in __init__ otherwise tcp_nodelay may have changed on the class
Order the declarations correctly