Tighten a few aspect of Prometheus client use.

Since this library is likely to be one of a user's first entrypoints
for looking into Prometheus, it makes sense to demonstrate the feature
set in a non-contrived way.  To that end, I have offered a few changes
to enhance the experience:

- Take advantage of immutable Metric.Builder objects, which can be used
  to generate metrics from a template.

- Retain reference to Metric.Partial to demonstrate the capability of
  retaining a metric if its label-pair values are never subsequently
  altered.

A few other cleanups are provided:

- Hysterix initialization is made to occur only once, for it could
  create side effects for metric exposition by re-registering
  the ExpositionHook.  No contract is offered for this yet.

- Extract property and percentile computations into Callable<T>
  factories to reduce amount of boilerplate.