Portability

(Hi again) @vladikoff

I've refactored some of the configuration code here in order to allow config paths that are outside of the `config/` folder, as well as some portability changes so that the server can be used as an npm dependency.

(cc/ @jamesreggio)
Leaving this `configFile` would've minimized the diff.