Currently, any panic from HTTP handlers can cause the http.Server to stop processing requests. We can prevent this by adding a middleware to the *mux.Router that recovers any panic, logs it, and then returns a configurable status code. This will prevent issues like invalid UTF-8 from causing caduceus to stop accepting requests.
The recovery handler itself should probably go into github.com/xmidt-org/httpaux.