Initial version of new java client for prometheus.

This is based on the existing client, with the following changes:
 - No external dependencies in core client
 - Number of labels is fixed
 - Initilises to 0 when there's no labels
 - Convenience methods for no labels
 - Support for multiple registries
 - Only supports text output format

This code is MVP, there's no validation of metric or label names,
AtomicDouble might be better in Counter/Gauge and I'm sure there's a better
way to architect all this class wise (the api is a bit text format specific
for Summary for example).
"It doesn't look to have taken performance into consideration at all. Atomic* classes performance degrade to worse than locking when there is high contention. Not alone this but they chew massive cpu under high load as they are implemented using compare-and-swap which spins the cpu. The longer it takes to set it the more cpu wasted."
I think he's proposing to use DoubleAdder somehow.

Yes, we need decimals.

I think we should optimise this later based on microbenchmarks.