Handle our own exceptions, write errors to response

ASP.NET doesn't actually catch and write HttpExceptions, so we'll catch
and write errors to the client properly.