Use promises at startup

Refactored the js code in index.html.tmpl and app.js to use promises
instead of the custom JobManager object.
Modify PluginInterface to use promises on server
Use promise version of PluginInterface on the client
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
web_agent_debugger server module update
Merge branch 'promise' of https://github.com/M2Ys4U/KiwiIRC into M2Ys4U-promise

Conflicts:
	package.json
PluginInterface.emit readability
Re-implementing PluginInterface event.wait
var name formatting
Updating client-side PluginInterface to its server-side version
Links are only valid if the *whole* word is a URL
index.html comments
Removing unneeded plugin callbacks
Merge remote-tracking branch 'origin/M2Ys4U-promise' into development

* origin/M2Ys4U-promise:
  Removing unneeded plugin callbacks
  index.html comments
  Updating client-side PluginInterface to its server-side version
  var name formatting
  Re-implementing PluginInterface event.wait
  PluginInterface.emit readability
  Simplify the settings generator
  Use promise version of PluginInterface on the client
  Modify PluginInterface to use promises on server
  Use promises at startup
User/Channel dispose removing vars to early
Removing console.logs
Check if user exists before adding to memberlist
socket.destroy instead of socket.end
document unload promise resolving correctly with promise shim
Recording scroll back fix, causing #608