util:wsgi: add --daemon, --pidfile, and --logfile
This allows you to manage BE servers from inetd scripts, etc.
Shortcomings of the current implementation:
* ServerCommand._daemonize() currently only sets a SIGTERM handler and
double forks. If you want to do this right, see PEP 3143.
Unfortunately, the PEP seems to have stalled, python-daemon appears
unmaintained, and I don't care enough at the moment to do this
right.
* ServerCommand._get_pidfile() races between checking for an existing
PID file and claiming the file itself. It is possible that two
processes would check around the same time, and both see no existing
file. Then they would both open the PID file and write their pid,
without noticing that the other process was contending for the file.
Solving this requires file locking, which is difficult to do
portably. This shouldn't be an issue in normal operation, where
each server will be using its own PID file path.