Add context propagation middleware

/to @ritch @bajtos @piscisaureus 
I think this is an anti pattern Raymond... We should make it easy to add things to the context. I think the main use case for this is something like:

```js
function myRemoteMethod(cb) {
  handleUpload(ctx.get('http').req);
}
```

I think this should be done by injecting the stream into the request via a `before` hook. We already have access to the request in that context anyway. This allows you to easily mock the upload stream in tests.

```js
function myRemoteMethod(cb) {
  handleUpload(ctx.get('uploadStream'));
  // ...
}

// ... in a test
ctx.set('uploadStream', fs.createReadStream('test.jpg'));
```