- Added a custom exception to represent bad requests
- Added logic in MarathonExceptionMapper to transform `BadRequestException`s to responses with a status code of `400`
- Updated `v2/AppsResource` to use the new bad request exception machinery