changes to HttpClient

added some pydoc
fixed a bug where headers were sent as post data when they were provided and no post data was provided.
changes to overflow_example_1.py:

refactored to eliminate use of ConnectbackHost
call serve() instead of serve_connectback()
further removal of connectback_host from example 1
reworked internals of connect-back servers; now with 472% more better

moved server socket creation to before fork() so we can detect if server startup failed and avoid throwing exploit
refactored signal setup to hopefully be a little more robust
fixed some places where child may return in case of an error.  Child should never return, just exit.
servers take an optional logger object or create one, and send output there.
Changed some ___foo() method names to _foo() (one underscore) so we can call them from subclass.
changed some tabs to spaces in http.py
added shutdown() method to connect-back server class
added some pydoc to connect-back servers.
refactored example 1 to reflect changes to connect-back server.