- Both the "tail" and "fg" commands in supervisorctl have tests to verify
  their error handling but not actual operation.  We should add some additional
  tests to verify their operation for completeness.

- Add an option that allows numprocs for an existing process group to be
  adjusted at runtime.  Requested by Roger Hoover.

- supervisor.tailProcessLog() may return too many bytes when the number of
  bytes requested exceeds the number logged.  This is not certain and needs
  investigation.  Reported by Chris McDonough.

- Allow effective user to switch to a particular group instead of
  defaulting to the user's primary group:
  http://www.plope.com/software/collector/233.

- Allow sockchown group only: http://www.plope.com/software/collector/214

- Implement event max_retry counter that means "after X retries of a
  rejected event, go into FATAL state".

- FATAL state for supervisor.

   - When we try to clear the main log file and we get an IOError or an
     OSError (clearLog)

   - When we attempt to remove a process log file via os.remove (or
     equivalent all into handlers) and we get an IOError or an OSError
     (clearProcessLog)

   - When we try to kill a process and the os.kill command raises an
     exception (stopProcess)

   - If eventlisteners repeatedly reject (or crash on) an event, causing
     the event to be rebuffered above a reasonable threshold.

- General speed improvement wrangling:

  - Play around with creating a select trigger file descriptor for
    each event pool.  Maybe when an event is accepted by the pool,
    write to the file descriptor.  This will cause select to time out
    and fall through.  In an asyncore dispatcher represented by the
    file descriptor, attempt to dispatch the event.

- Address outstanding collector issues.

- We *might* be able to delay shutdown until all buffered events have
  been processed (or a timeout has been reached).

- Web interface:

   - Unit tests for meld classes and ui server.

   - Meta-refresh on tail page.  See also issue #34 for more on tail.

   - Support operations against both stderr and stdout logs.

   - Organize processes by group and allow groups to be started/stopped.

   - Allow a supervisorctl-like command line through the web interface.

   - Consider configuration reloading options (see issue #37 for more).

   - Display more information about Supervisor (identification, pid, etc.)

   - Should use POST requests for actions that change server state

   - Option to automatically refresh the status page (issue #73).

   - Better support for use with proxy servers (issue #29)

- Expat error on Jens' system running slapd as root after reload.

- Unit tests for log rotation.

- Command-line arg tests.

- Consider adding a dependency mechanism.  See pull request #20.
