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
Don't store ->surfaces anymore. Save memory, save time
Add unit test to check that nested config options work
New toolchange_gcode option. #547
Fix regression causing wrong number of solid shells when using fill_density = 0 (includes regression test)
Added a couple Clipper tests. #858
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