Add repeat-distance to text symbolizer properties.

Update collision detector to handle minimum-distance and repeat-distance seperately.
Update placement_finder to use repeat-distance.
Update group symbolizer to handle minimum-distance and repeat-distance.
Add additional test cases to demonstrate use of new attribute repeat-distance by itself and combined with minimum-distance.
use emplace/emplace_back over insert/push_back - refs #2336
remove unused includes
add markers placement methods vertex-first and vertex-last
visual tests - markers placement methods vertex-first and vertex-last
remove duplicate import
remove needless virtual inheritance
prefer c++ style comments
mapnik::util::variant in mapnik::value
remove unused includes
Merge branch '3.x-szn-markers-symbolizer-vertex-placements' of git://github.com/mapycz/mapnik into mapycz-3.x-szn-markers-symbolizer-vertex-placements
Merge branch 'mapycz-3.x-szn-markers-symbolizer-vertex-placements'
Merge branch 'master' into custom-variant-2

Conflicts:
	include/mapnik/value.hpp
replace boost::spirit::karma alternate operator (uses boost::variant) with direct util::variant to string conversion
value traits to control to value conversions + fix is_null
use is_null_visitor
add link to custom generator TODO
transform : is_null_node visitor
Merge pull request #2345 from mapnik/emplace

use emplace/emplace_back over insert/push_back - refs #2336