Add viewing flag for base layouts instead of using parentView
Better support for multiple models/collections

When a view is rendered on the server-side, the corresponding view of the
client-side is able to retrieve just one model or collection.

This patch allows a view to restore multiple models and collections.
Delete entity body for GET requests, unless the entity body is a non-empty object

Some servers will reject GET requests with an entity body, as it is non-standard. Also, Request automatically adds a content-length header to requests with an entity body, which can cause unpredictable effects (including status code 400 from some Google APIs).
Storing collections params along with ids and meta.

This allows for the collections to be rebuilt using the same params.

Steps to reproduce:
1) navigate to page with collection.
collection accurately has the spec params associated
2) navigate away.
3) navigate to initial page.
collection does not have the params originally set.
Add *.swp to .gitignore
Merge pull request #111 from koichik/fix-multi-models

Better support for multiple models/collections
Support custom idAttribute in BaseView#getAttributes()
0.5.0-alpha02
Handle status code 204 properly

An API server may return "204 No Content" for PUT or DELETE request,
but apiProxy ignores it and returns "200 OK" on the server side.
Then, on the client side, jQuery detects "parseerror" because the
response has no body.

This patch makes apiProxy handling status code 204 properly.
Merge pull request #115 from koichik/fix-204

Handle status code 204 properly
Simplify things by letting the server own an Express instance
Merge pull request #113 from shebson/master

Delete entity body for some GET requests
Small style tweak in server.js
Merge pull request #125 from airbnb/oop-server

Simplify things by letting the server own an Express instance
Pin at specific version of NPM
Release 0.5.0-alpha03
Trigger 'start' event on App.
Merge branch 'master' of https://github.com/airbnb/rendr into lazy-load-base-layout
Address changes for unused var, global this binding and collection usage in view.js
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.