MetricSet impls: add metricNamePrefix to ctors so that users can control where their metrics sit in the namespace

Add ctors taking String metricNamePrefix to all MetricSet impls, so that users can control where the metrics are added in the namespace.  

Eg registering `new MemoryUsageGaugeSet("jvm.memory")` gives a metric `jvm.memory.total.used` instead of `total.used`, etc.

Existing ctors work as before: metrics in set are added at root of namespace.