Add support for dropping privilege from root

This lets you start as root, bind to a low-numbered port, and
then switch to another user. Use the `RunAs` config option
to configure this.