Start accepting extra socket options
Set defaults in __init__ otherwise tcp_nodelay may have changed on the class
Order the declarations correctly
Fix our collection of options for Nagle's algorithm
Add ability to disable socket_options

Start writing tests and fix a bug as a result
Unfortunately, I think these tests will need to be run with the dummyserver since we want to test that the socket option was set.
Fix how we decide which socket options to use

Add tests for three different branches of logic. Remove tests from
test/test_connectionpool.py since all tests for socket_options require a
dummy_server.
Turn on Nagle's algorithm for proxies
Use assertTrue(x) instead of assertEqual(x, True)
First pass at updating the documentation
Docs tweaks.
Update connectionpool.py
Proxy mention in docs re nagle.
Perioddds.
Remove unneeded import
Update documentation and how we enable Nagle's algorithm for proxies
Finish up the last of the documentation

[ci skip]
Handle proxies and Nagle's Algorithm in __init__
Clean up rebase mistakes found by @jschneier
Merge pull request #397 from sigmavirus24/socket-opts

Start accepting extra socket options.
CHANGES for #397