Manual rebase of the avoid_crossing_perimeters feature
Make the motionplanner work again after recent changes to approximation
Better implementation of the external motion planner
External motion was crossing still too much
Merge branch 'master' into avoid-crossing-perimeters

Conflicts:
	README.markdown
	lib/Slic3r/ExPolygon.pm
	slic3r.pl
Merge branch 'master' into avoid-crossing-perimeters

Conflicts:
	README.markdown
	lib/Slic3r/Config.pm
	lib/Slic3r/GCode.pm
	lib/Slic3r/Print.pm
	slic3r.pl
Merge branch 'master' into avoid-crossing-perimeters
Restore non-manifold warnings
Little cleanup
Bugfix: --avoid-crossing-perimeters was crashing when processing empty layers
Merge branch 'master' into avoid-crossing-perimeters

Conflicts:
	lib/Slic3r/GCode.pm
Merge branch 'master' into avoid-crossing-perimeters

Conflicts:
	lib/Slic3r/GCode.pm
	lib/Slic3r/GUI/Plater.pm
	lib/Slic3r/Print.pm
	lib/Slic3r/SVG.pm
Merge branch 'master' into avoid-crossing-perimeters

Conflicts:
	lib/Slic3r/GCode.pm
	lib/Slic3r/Print.pm
Fixes for merge issues
Fix external motionplanner too
Fix last_pos shifting and add unit test
Use Boost::Geometry::Utils for Douglas-Peucker
Optimization: avoid calculating square roots if not needed
Use the faster polygon_multi_linestring_intersection()
Require Boost::Geometry::Utils 0.06