Better SCGI handling, including support for systemd socket activation

This is one of my monster changesets because a relatively small idea got
away from me.
- dwiki-scgi.py can now be passed its listening socket through the
  systemd socket activation protocol. This is specified with the
  new --systemd-sock option. The support is limited; you can only
  use it with ordinary real sockets and you can only pass in one
  socket.
  (Actual implementation touches stuff in wsgi/* and so on.)
- supervise-sock.py is a new program to do socket supervision of any
  server daemon that can be passed its socket via the systemd socket
  activation protocol. Eg, dwiki-scgi.py. This makes it the easy way
  to handle a permanent SCGI environment, such as if you are running
  DWiki under/in nginx.
- updated README for supervise-sock.py

- dwiki-scgi.py now has a big comment block at the start to discuss
  how to use it.
- dwiki-scgi.py had too many options in a huge, hard to handle list
  (many of them with bad help text). Split them up into logical
  groups.
- dwiki-scgi.py: changed the --restart-after default from 10 (laughable)
  to 100.
- added new --idle-timeout and --worker-timeout options to dwiki-scgi.py
  and updated all of the wsgi/* stuff to support them.
- wsgi/prefork.py: use real socket.socketpair() if it's available instead
  of our partial fake of it.

I have tested dwiki-scgi.py under systemd itself so I believe that
the implementation of the socket activation protocol here is correct
(although somewhat limited). See sockact.py for the general code for
it.