Initial work to remove root requirement

This is the first part of removing the need to run shiny-server as
root. Importantly, there are scenarios that still require running
as root: 1) the presence of any user_apps directive, 2) any run_as
directives that specify a user other than the shiny-server process
owner, and 3) the usage of ports lower than 1024. In these cases
we need to allow the user to run as root (although in case #3 it's
possible that we could drop privileges once the server is started).

This commit implements the following:

- Error on config load if insufficient permissions for config
- Only use su in app-worker if necessary
- Refuse to launch an R process as root

See TODOs at top of config-router.js for remaining work.