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
Rename t/stl.t to t/slice.t
Added failing test case for troubleshooting unexpected filled holes. #858
Bugfix: some holes being closed incorrectly. #858
Bugfix: PlanePath fill patterns were not working anymore. #880
Add regression test to trap fatal errors during hilbertcurve infill generation. #880
New unit test for layer heights
Refactoring: initialize all layers at once and avoid duplication of slicing height math. #637
Alter extrusion width automatic calculation to take "native flow" into account
Automatic detection of support material threshold angle