Jersey 2.x support

I needed to port the Jersey module over to use Jersey 2.x, and I saw it was on the contribution ideas list so I thought I'd clean it up and submit it. I tried to keep it as consistent as I could with the existing Jersey module. I made it a separate module to avoid classpath issues between Jersey 1.x and 2.x. 

There are a couple of classes (like TraceData) that I could use as is and I copied them over, as I wasn't sure where would be a good common place to put classes that are used by multiple modules.