refacturing and new class hierarchy for metrics

- put things that are not metrics or metric base classes or interfaces
  in separate packages
- introduced MetricImpl, PinpointMetric and PinpointDbMetric to avoid
  redundant code (mainly setter methods)