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.
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.
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.
Merge pull request #126 from airbnb/0.5.0-alpha04-working

Updates to server based on real-world usage
Release 0.5.0-alpha04
Removing unused variables from apiProxy
Never reference rendr.server as a global

To enable this, we inject `dataAdapter` into the `apiProxy`
middleware, and also we attach `dataAdapter` to `req`, so that the
`syncer` can access. It would be nice to find an alternative to this, so
we don't bloat the `req`.

This is a necessary step towards enabling developers to run multiple
Rendr apps in the same Express app, which can be useful.
Merge pull request #127 from airbnb/access-dataAdapter-from-req

Never reference rendr.server as a global
Removing pending test for feature that was removed
Merge pull request #120 from juvo-tv/store_and_retrieve_collection_params

Storing collections params along with ids and meta.
Added middleware function (and middleware-esque function for Backbone routes) to add custom handling on a route by route basis.