Simplify bridge code: do we still need mark-unmark-and-sweep logic?
In an older version of the bridge code, we would encode some state information in the bridge_info_t object. Therefore, when we reloaded the configuration, it was important that we use the old object for any bridges that we still had. For that reason, we would (on reloading the configuration) first mark all bridges, then unmark any bridges that were still in the configuration (while adding any new bridges), and finally we'd free all the marked bridges.
But, looking at the code now, it appears we no longer take this approach: once marked_for_removal is set on a bridge, nothing clears it. If that's the case, we could simplify our bridge configuration logic a bit by just clearing the bridge list and rebuilding it, and dropping this whole "marked_for_removal" business.