Revise web layer exception handling (#484).

The proliferation of WebApplicationExceptions is limited: resource methods and event handlers only throw a WebApplicationException when a specific response status needs to be sent.

The problem of interspersed illegible stack traces is solved by introducing a JAX-RS exception mapper.

PLUGIN DEVELOPER NOTE:
To send a specific response status throw a WebApplicationException from your resource methods or event handlers. The WebApplicationException's status code will be send back to the client. In the other cases throwing a RuntimeException is sufficient. Wrapping a RuntimeException in a WebApplicationException is no longer required.

See #484.