Refactor label set validation

The previous pseudo class LabelSet didn't communicate the behavior very
well. This change introduces a real validator class. This does not only
make the validation character clear, but will also allow it to validate
label sets per metric object, instead of using the previous global
lookup table.
Forbid varying label sets