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.
Note that this part hasn't actually changed. The old code has the same issue. That said, I'm not sure we can get around that, given how machine view rendering works. I'm also skeptical that it's actually an issue. A single service is highlighted, so we'd be triggering events for only the machines that service is deployed on.