Keep HttpListener running, regardless of errors

We found that after ~2 hours in production use the metrics endpoint stopped responding. I believe this is due to some exception happening inside while processing a request. Since `Task` error are swallowed by the runtime the `HttpListener` task just goes away and we are no longer able to see metrics.

If you merge this, please also create a new `net40` release. Thanks!