network_manager: Add reload post hooks

We need this to handle deleting interfaces after reloading.

Change-Id: I0f3ca4cedf0e112bc285e4e2ecc1c3cad8ef5677
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/src/network_manager.cpp b/src/network_manager.cpp
index 7e540d1..014d0b4 100644
--- a/src/network_manager.cpp
+++ b/src/network_manager.cpp
@@ -517,7 +517,21 @@
     {
         log<level::ERR>("Failed to reload configuration",
                         entry("ERR=%s", ex.what()));
+        reloadPostHooks.clear();
     }
+    for (auto& hook : reloadPostHooks)
+    {
+        try
+        {
+            hook();
+        }
+        catch (const std::exception& ex)
+        {
+            log<level::ERR>("Failed executing reload hook, ignoring",
+                            entry("ERR=%s", ex.what()));
+        }
+    }
+    reloadPostHooks.clear();
 }
 
 void Manager::handleAdminState(std::string_view state, unsigned ifidx)