Switch from events to setting service flags.

Instead of firing events on the topology, we're switching to setting
flags on the service and unit models in the DB. That way the data is
persistent across state changes (i.e., when a user switches from
service view to machine view) and we maintain one single source of
truth.
This changed event firing also has the same issue as mentioned with revive - we could have 1000s of machines and we are firing an event for each one.