Merge branch 'hotfix/db35a1-typo'
Switch back to ugly size output.

This works on Windows and doesn't assume *nix terminal with Perl installed.
merge edge into master
Fix endstop configuration
refix config
Merge branch 'upstreamedge' into upstream-master

Conflicts:
	ConfigSamples/Smoothieboard/config
delete gcc4mbed as it is not in edge
Update config
Fix a bug in the M500 for saving the PID setting

Forgot to add the S parameter
TemperatureControlPool: fix wrong index being assigned if a TemperatureControl is listed in config but disabled
Move most handling of steps from arm_solution,Robot,Planner to StepperMotor
Arm Solutions: rename fields to reflect appropriate function
Robot: remember to grab steps_per_mm from config
StepperMotor, Planner: fix a couple of potential rounding errors
Planner: steps is a delta, not absolute!
StepperMotor has its own Pins. Copy data into them, and use accessor methods rather than reaching in and touching directly
Pin: built-in copy ctor is adequate
Planner: accept unit vector instead of axis deltas
Robot,StepperMotor: per-actuator speed limits
StepperMotor: just shifting things around