home.c: don't move to zero after homing to max endstop.

This can be counterproductive if the actual zero point is
outside the available build room. For example, if an additional
bed probing is going to happen. It also costs quite some
time on the Z axis. If you actually  want this behaviour,
send a simple G0 XYZ after homing.
home.c: no need to turn off Z axis here.

This is done in dda.c already, see dda.c, line 678.
um_to_steps_*: convert to generic implementation

A generic implementation here will allow callers to pass the target axis
in as a parameter so the callers can also be made more generic.
dda: Move axis calculations into loops.

Clean up code to reduce duplication by consolidating code into
loops for per-axis actions.
home: Reduce duplication with axis arrays
Remove obsolete um_to_steps_[xyze]
datalog: show traced data as signed ints, not unsigned
Rename confusing variable name

'all_time' sounds like forever to me, but this variable really
tracks the last time we hit one of "all the axes".  It sticks
out more now in looping, so rename it to make sense.
Trivial cleanups

Move some code around, fix some formatting, and hide a couple
of variables when they're not being used.