`Reflip#flip`: Remove `request.features`.

Decorating the `request` object causes issues if a Reflip-enabled
Express app mounts a Reflip-enabled sub-app with different settings.
For example, if app A configures Reflip with the `"aardvarks"` setting
enabled, app B configures an independent instance of Reflip with
`"aardvarks"` disabled, and A mounts B as a sub-app,
`request.features.aardvarks` will be `false` if A mounts B after
mounting the `flip` middleware, and `true` if A mounts `flip` after
B.

Instead of adding a separate `exportFeaturesName` option,
`request.check()` now returns an object of feature names and their
corresponding states if it is called without any arguments.

This is a backward-incompatible change.
Use `_.has()` instead of `#hasOwnProperty()`.

This allows features named `hasOwnProperty`. Isolate the `try...catch`
statement around `JSON.parse()` in `FileAdapter#read()`.
Cache feature lookups.

`request.check()` now returns the internal cache instead of
constructing a new object. Mutating this object will affect the
results returned by `request.check('feature-name')`. This is
consistent with the v0.2.4 behavior.
Update docs. Bump version.
Merge pull request #3 from kitcambridge/no-features

Remove `request.features`