NPM resource modules, global urlPrefix, better session support

 * Support loading NPM modules as resources
 * Enable setting a global urlPrefix to support reverse proxy scenarios
 * Expose session on envelope
 * Enable use of connect-redis
 * Update demo to show HTML auth without using forms-auth
 * Update README to document new features and session configuration
 * Clean-up linting errors in some files
I made a tiny test case, and I believe I am correct: https://gist.github.com/dcneiner/bff898a6e0a909c62e1b

I couldn't get the cdnjs version of when to load properly, so if you down load, run npm install and run this, the output will be:

```
error
success
```

You'll need to either rethrow the error, return a new rejected promise, or handle the error differently.