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
Alter extrusion width automatic calculation to take "native flow" into account
Automatic detection of support material threshold angle
Added Preferences dialog
Simple mode
Acceleration control. #185
Remove leftover M501
842, 847 slightly enlarge a clip polygon to counteract integer truncation

Geomery in referenced issues triggered Clipper problems, but also
pointed to a situation where integer truncation (as coordinates pass
into Clipper) might be shrinking a clip polygon in a way that leaves
degenerate or unwanted thin clip results. Growing the clip polygon by 2
is expected to overcome any issues caused by truncation of floats.
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
Bugfix: crash when reading/writing files to paths containing non-ASCII characters on Windows. #651 #865