Simplify the settings generator

settingsgenerator.js:
* getSettings' callback now passes an error object as its first argument
* generateSettings now returns a Promise

httphandler.js:
* serveSettings will now respond with HTTP 500 (Internal Server Error) if
    there is an error generating the settings object