Fork detection before creating the socket.

In case fork happens before s.bind, we will run into an address in use error.

This fix will alleviate the problem, but it is still less than ideal. -- what if a fork happens before s.bind? 
same applies to the detection before s.recv().

This is related to Issue 440 and Issue 439.
Detect fork before creating the socket.

In addition, protect against fork between creation and binding.
ensure only the master process binds to the url. (forks that accidentally grab the url will release it and die)
test import of ssh.tunnel

at least checks syntax
remove dict comprehension from ssh.tunnel

since we still support Python 2.6
Move fork detection before bind
Merge pull request #606 from minrk/ssh-26

remove dict comprehension from ssh.tunnel
move fork detection before socket creation.

Actually move the line before socket creation.
Merge pull request #603 from rainwoodman/patch-2

Fork detection before binding the socket.
Stop building bdists for Python 3.3
skip GSSAPI sockets on the test_socket
Merge pull request #608 from minrk/gssapi-test

skip GSSAPI sockets on the test_socket
Merge pull request #607 from minrk/no-33-bdist

Stop building bdists for Python 3.3
14.3.1 changes
release 14.4.1
include tools in sdists
use pickle.DEFAULT_PROTOCOL by default

HIGHEST_PROTOCOL on old Python, where default is undefined
Merge pull request #610 from minrk/pickle_default

use pickle.DEFAULT_PROTOCOL by default
Fix a naming bug.

init_action was never called by __init__, so allow_interrupt
didn't work under win32 at all
Merge pull request #611 from uppi/master

Fix a naming bug.