Repeat distance for labels

This is a potential solution to problem with minimum-distance and text symbolizer, as mentioned in mapnik/mapnik#2227. A repeat-distance attribute has been added to text properties, which can be applied to both text and shield symbolizer. It is a minimum distance to check only against labels with the same text in the collision detector, while minimum-distance will still check against all other labels. The attributes minimum-distance and repeat-distance can be used independently or in combination with each other. Additional test cases are included.

Note this also impacts group symbolizer, which uses mimimum-distance and repeat-distance in the same way as text and shield symbolizers. Previously, group symbolizer treated the minimum-distance attribute like repeat-distance.