added support for path prefix

in the process, refactored handling of environment variables

note that while `NAVEED_ROOT_URL` might seem redundant, it's not the
same as `NAVEED_HOST` + `NAVEED_PORT` + `NAVEED_PATH_PREFIX` because
these refer to internal values rather than the external URL