Updates to server based on real-world usage

This branch contains a number of fixes that make the new, easier way of
setting up a Rendr app work for more complex apps. This was tested
against one of the more complex Airbnb apps.

Some specific changes:
* Add a `viewsPath` server option.
* Allow `appAttributes` server option to be a `function` that takes
  `(req, res)`, to support dynamic app attributes that depend on the
  `req` or `res`.
* Add back the `notFoundHandler` server option.
* Add `server.handle` middlewqre handler, which allows mounting the
  server directly as an Express middleware, i.e. `app.use(server)`.
* Format `syncer` for style.