route: communicate routing changes using signals

The RoutingTable now has a signal that it emits upon finishing
calculation, which other modules can subscribe to. The NamePrefixTable
now references this emitted container to update its local copies of
routing information.

Change-Id: Id601776258ad0367cc47461ea8f86a710eada132
refs: #4249
diff --git a/src/nlsr.cpp b/src/nlsr.cpp
index 32bda23..02915e4 100644
--- a/src/nlsr.cpp
+++ b/src/nlsr.cpp
@@ -53,7 +53,7 @@
   , m_isRoutingTableCalculating(false)
   , m_routingTable(scheduler)
   , m_fib(m_nlsrFace, scheduler, m_adjacencyList, m_confParam, m_keyChain)
-  , m_namePrefixTable(*this)
+  , m_namePrefixTable(*this, m_routingTable.afterRoutingChange)
   , m_localhostDispatcher(m_nlsrFace, m_keyChain)
   , m_routerNameDispatcher(m_nlsrFace, m_keyChain)
   , m_lsdbDatasetHandler(m_nlsrLsdb,