Rest API error responses

* Adds an exception mapper to rest project to catch unexpected exceptions and send a JSON response back rather than an HTML page.
* Treats ClassCastExceptions in the rest project as invalid inputs from the client (e.g. a String value for an Integer sensor) and responds 400 Bad Request. Is this contentious?
* Exceptions with no mapping (currently anything other than WebApplicationException and ClassCastException) are treated as our problem and cause 500 Server Error JSON responses.
* Jetty still responds with a 405 HTML page for requests with the wrong method (GET instead of PUT, etc.).