Add M104, M109, M190 , depreciated but useful, Gcodes to the Duet branch

I had not worked out a good git workflow to separate individual pull requests so this request includes the commits from the other pull request about Z probes and home directions.

If the other pull request is merged I can update this to only include the depreciated code.