fleet agent does not compare contents of units in reconciler

1. `fleetctl start` a unit
2. wait for agent to pick it up
3. `fleetctl destroy` unit
4. quickly `fleetctl start` unit with different contents

Assuming the unit gets scheduled back to the same host, easily reproducible using global units, the fleet agent will not deploy the new contents and restart the service.
But it can panic because `tt.chain` can be nil. I'll fix it up.