helper: ndn::GlobalRoutingHelper extension

Now CalculateRoutes and CalculateAllPossibleRoutes accept flag,
indicating whether to invalidate (default) or preserve existing routes
diff --git a/helper/ndn-global-routing-helper.cc b/helper/ndn-global-routing-helper.cc
index 6ecd944..04ecc6f 100644
--- a/helper/ndn-global-routing-helper.cc
+++ b/helper/ndn-global-routing-helper.cc
@@ -234,7 +234,7 @@
 }
 
 void
-GlobalRoutingHelper::CalculateRoutes ()
+GlobalRoutingHelper::CalculateRoutes (bool invalidatedRoutes/* = true*/)
 {
   /**
    * Implementation of route calculation is heavily based on Boost Graph Library
@@ -278,7 +278,10 @@
       // NS_LOG_DEBUG (predecessors.size () << ", " << distances.size ());
 
       Ptr<Fib>  fib  = source->GetObject<Fib> ();
-      fib->InvalidateAll ();
+      if (invalidatedRoutes)
+        {
+          fib->InvalidateAll ();
+        }
       NS_ASSERT (fib != 0);
 
       NS_LOG_DEBUG ("Reachability from Node: " << source->GetObject<Node> ()->GetId ());
@@ -324,7 +327,7 @@
 }
 
 void
-GlobalRoutingHelper::CalculateAllPossibleRoutes ()
+GlobalRoutingHelper::CalculateAllPossibleRoutes (bool invalidatedRoutes/* = true*/)
 {
   /**
    * Implementation of route calculation is heavily based on Boost Graph Library
@@ -350,7 +353,10 @@
 	}
 
       Ptr<Fib>  fib  = source->GetObject<Fib> ();
-      fib->InvalidateAll ();
+      if (invalidatedRoutes)
+        {
+          fib->InvalidateAll ();
+        }
       NS_ASSERT (fib != 0);
 
       NS_LOG_DEBUG ("===========");