machine: add count of fleet units to MachineState

This change removes MachineState from UnitState, instead exposing a
reference to MachineID. MachineState gains a new field, LoadedUnits,
representing the count of units loaded into fleet on the machine. This
count is obtained trivially through the SystemdUnitManager. To
facilitate this, the manager is injected into CoreOSMachine.

To support this change, fleetctl will now cache a set of MachineStates
per invocation (since the state is no longer returned with each
UnitState). This means that fleetctl will now show a consistent
MachineState per machine (whereas previously it could potentially be
different for different units).