remove force_odd_labels - refs #2120
update tests
re-use evaluator object

Conflicts:
	include/mapnik/expression_evaluator.hpp
add support for halo-rasterizer for shields - closes #2226
Merge branch '2.3.x' of https://github.com/mapnik/mapnik

Conflicts:
	INSTALL.md
	SConstruct
	src/agg/process_markers_symbolizer.cpp
	src/cairo_renderer.cpp
	src/libxml2_loader.cpp
	src/load_map.cpp
	src/markers_placement.cpp
	src/placement_finder.cpp
#! File deleted in upstream.
Added vertex_first and vertex_last options to markers symbolizer placement.
Add new MarkersSymbolizer attribute 'rotation'.
Integration of new marker placement methods.
Making rotation attribute of MarkersSymbolizer optional.
Added collision detector support for first and last vertex placements of MarkersSymbolizer.
Added new XML attributes marker-begin and marker-end to XML definition of LineSymbolizer.
Comment clarified.
Used dash rather than underscore.
Marker placement methods moved into separate files.
Merge branch '2.3.x-szn' of github.com:mapycz/mapnik into merge-3.x-szn

Conflicts:
	bindings/python/mapnik_symbolizer.cpp
	include/build.py
	include/mapnik/expression_evaluator.hpp
	include/mapnik/grid/grid_marker_helpers.hpp
	include/mapnik/marker_helpers.hpp
	include/mapnik/markers_placement.hpp
	include/mapnik/markers_symbolizer.hpp
	include/mapnik/text_symbolizer.hpp
	src/agg/process_markers_symbolizer.cpp
	src/build.py
	src/cairo_renderer.cpp
	src/libxml2_loader.cpp
	src/load_map.cpp
	src/markers_placement.cpp
	src/markers_symbolizer.cpp
	src/placement_finder.cpp
	tests/python_tests/object_test.py
	tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-1.0-agg-reference.png
	tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-2.0-agg-reference.png