Added automatic end-stop offset calbration to M206:

M206 P X Y Z
When P is available in the line, every named axis will be assumed to be zero,
and the calculated offset inserted into memory.
Repairs issues surrounding homing for scara systems
Scara systems are not deltas, and just specifying delta homing will cause
issues in other mudules, such as zprobe
Merge pull request #525 from RepRapMorgan/scara_updates

Repairs issues surrounding homing for scara systems
Merge pull request #524 from RepRapMorgan/M206_improvements

Added automatic end-stop offset calbration to M206:
Move M206 improvements to M306 and leave M206 as is
Merge pull request #527 from wolfmanjm/feature/modify-new_m206-changes

Move M206 improvements to M306 and leave M206 as is
add an additional offset to M306 if Z has a value other than 0
Merge pull request #528 from wolfmanjm/upstreamedge

add an additional offset to M306 if Z has a value other than 0
Merge remote-tracking branch 'upstream/edge' into zheightstrategy
Renamed to ZGrid25
refactored and cleaned