controller.create() returns a Promise and also accepts a node-style callback.
App.start() now accepts a callback whilst also returning a Promise.
Created new Router class for handling routing - TODO: finish tests

Better-looking console logging through Winston.
Allow user to override config/defaults within the app - so that we have default config for all app modes.
Added debug logging.
Default log level is 'info'.

testutils.createApp() added.

Renamed toViewObject() to toJSONObject().