Port To Jersey 2.x

Note that this relies on a forked branch to Metrics for the same purpose of supporting Jersey2 that hasn't been accepted yet. The PR for that is at https://github.com/dropwizard/metrics/pull/532


This should be solved using [`Assert#fail()`](https://junit-team.github.io/junit/javadoc/4.11/org/junit/Assert.html#fail%28java.lang.String%29) or [`ExpectedException`](https://junit-team.github.io/junit/javadoc/4.11/org/junit/rules/ExpectedException.html)