agent: remove unnecessary TargetMachineID
engine: do not consider global units for scheduling
fleetctl: update to deal with global units

All fleetctl operations on global units are non-blocking. Updated
command descriptions to reflect this.

suToGlobal is shared across commands and so now moved to fleetctl.go

setTargetStateOfUnits should only care about DesiredState, not
CurrentState, of units it is attempting to modify.

Also standardises behaviour and error message reporting across commands