Added home direction logic

The direction which an axis homes in is either "-1" for min or "1" for
max
Z Probe Enable

Allows the Z probe to be enabled or disabled. when disabled Z homes in
the same way a X and Y. When Z probe is disabled it errors on M31, M32
Added M31 to toggle Z probe state

M31 with nothing reports the status, M31 S0 = disable, M31 S1 = enable
Merge remote-tracking branch 'upstream/duet' into duet

Conflicts:
	GCodes.cpp
	Platform.cpp
	Platform.h
Merge remote-tracking branch 'upstream/duet' into duet
Merge remote-tracking branch 'upstream/duet' into duet
Merge remote-tracking branch 'upstream/duet' into duet
Merge remote-tracking branch 'upstream/duet' into duet
Merge remote-tracking branch 'upstream/duet' into duet
Merge remote-tracking branch 'upstream/duet' into duet
Merge remote-tracking branch 'upstream/duet' into duet
Merge remote-tracking branch 'upstream/duet' into duet
Merge pull request #1 from reprappro/duet

Duet
M112 now works

Linked emergency stop routine to M112
Merge pull request #37 from T3P3/Emergency_stop

M112 Emergency stop