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


We might as well use the original Google Guava implementation here: `com.google.common.collect.Iterables`.