Add Raygun.io reporting for site errors.

If a raygun api key is present in the config, we make a raygun client.
Each request is decorated with it. Also, we wrap the site() invocation
in a domain to catch & report any errors in the site machinery itself.
The errors are re-thrown so the worker will be killed.
Oops. Didn't mean to check in the squelching of this logspam.
Or that IP number change.
Emit a metric for request latency as an example.

- Add zag-agent to the package deps.
- Create & configure a metrics agent & decorate each request with it.
- In the res 'finish' handler, emit a histogram recording how long it
  took to finish the request. Skip static assets.

You can now use res.metrics or req.metrics to emit whatever
histograms or counters you desire.