Dogbox clutch hits limit in both directions

The dogbox clutch motor is hitting the limit switch both engaging and
disengaging. So, we're using this as a double-stop -- but we have to
introduce a small timeout in both engage and disengage to allow the
clutch to get _off_ of the limit switch initially.
Track engaged/disengaged

Added some code that should, theoretically, track whether or not the
dogbox is engaged or disengaged and prevent it from accidentally forcing
itself past its limit.

CAVEAT EMPTOR: This starts with the assumption that the dogbox always
powers on engaged (as in autonomous). This may require some fiddling if
it is not true!