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
misc /tick client command
IrcConnection specific quit_message
Adding CTCP PING response
Fixing the CTCP PING
Merge pull request #599 from Polsaker/development

Adding CTCP PING response
Emoticon erroneous quote
Emoticons erroneous quote
Merge branch 'development' of github.com:prawnsalad/KiwiIRC into development

# By Ramiro Bou (2) and Darren (1)
* 'development' of github.com:prawnsalad/KiwiIRC:
  Emoticons erroneous quote
  Fixing the CTCP PING
  Adding CTCP PING response
kiwi_server no longer read from _kiwi.app
Notification view integrated into the core
Expose Notification component to plugins
Formatting colourised strings before inserting values
/away command support
web_agent_debugger server module update
Merge branch 'promise' of https://github.com/M2Ys4U/KiwiIRC into M2Ys4U-promise

Conflicts:
	package.json
PluginInterface.emit readability