This will avoid duplicate MetricFamilies, thereby shrinking the size of the federation payload and also creating legal text format. Also, add unit tests for federation. They were also needed for the previous state of the code, but were missing.