Extract connect_to_manhole() helper function

Testing manhole connection was performed by creating a new connection to
manhole. This works for the current code, but for the next patch, I
need a way to create a connection to manhole, keep it open, and check
that the connection is good after fork.

This patch extract a connect_to_manhole() helper function, which is used
now only by assert_manhole_is_running(). This function is used in the
next patch to keep a connection to manhole during the test.

This also fix few minor issues:

- sock was not closed after connection timeout
- sock.shutdown() and sock.close() were not needed in
  assert_manhole_is_running(), since TestSocket() shutdown and close the
  socket when exiting from the scope
- if connection timed out, there is no need to sleep before raising
Do not patch fork if using socket_path option

The socket_path option is not compatible with automatic manhole
installation after fork. The socket of the parent is removed and
replaced with the socket of the child.  Users of socket_path should use
patch_fork=False. If manhole for child process is needed, it must be
installed manually using a different socket_path.

This patch disables fork patching when both patch_fork and socket_path
are used, and print a warning message. It would be easier to debug if an
exception is raised in such case, but this is how other options
conflicts are handled.
Fix line-endings. Add keywords.
Add version in manhole.py
Update skel: add docs and changelog.
Allow multiple concurrent connections.
Revert "Allow multiple concurrent connections.". Fixes #7.

This reverts commit 34257c5651c0de13d837136b6c39f728df36261b.
Add a bind_delay option.
Sleep less, we don't need those processes around.
Update README.rst
Add docstrings.
Fix the docstrings. Make a note to read what I write :-)
Correct notes about redirection.