Support For two MCP4461 digipots

Required to support the Duet+ Duex4 or other expansion boards that use a
second MCP4461.
removed erroneous addition to previous commit
M112 now works

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

M112 Emergency stop
Incorporating some of dc42's enhancements.  This compiles BUT IT HASN'T BEEN TESTED.  Use with extreme caution.
Merge branch 'duet' of https://github.com/reprappro/RepRapFirmware into duet

Conflicts:
	Platform.h
Fixed z probe averaging code.
Z probe averaging fixed.  Loop timer added (try M122).  Code reverted to the point where it worked...
Temperature A to D readings now done using a moving average, like the Z probe.
This time with the binary file...
Fixed bug whereby pausing a print then starting a new one failed to close the old GCode file.
Tool class created.  This will allow tool definitions with multimple drives and heaters.  Blank for the moment...
First hack at the Tool class.  Implemented, but not yet called.
Bit of tidying...
Merged RRP Changes
Merge pull request #29 from T3P3/Multiple_Digipots

Multiple digipots
Merge remote-tracking branch 'upstream/duet' into duet

Conflicts:
	GCodes.cpp
Merge remote-tracking branch 'origin/duet' into selected_head_changes

Conflicts:
	Platform.h