Add test to validate the custom grains in pillar/id/*.sls
The test validates that the data that are in pillar/id/*.sls match the
acceptable values as defined in pillar/valid_custom_grains.yaml. The
data are separated in two groups, global and localized. The global ones
are checked only if they are defined and if they have valid values. The
localized ones are also checked based on the defined "country" grain of
the minion that have realistic values (eg the city matches the country)