Catch exceptions while disposing

[Kestrel#9](https://github.com/aspnet/KestrelHttpServer/issues/9) revealed a shutdown problem when an exception is thrown during the final Dispose. This exception would omit setting the ManualResetEvent and the runtime would essentially deadlock.

This PR makes an exception during Dispose visible.
This error message formatting doesn't look right. There is an overload that takes an exception object.