rib: simplify Route class

Route::expires is changed to an optional, with nullopt representing
"never expires". This avoids an integer overflow.

RouteFlags accessors are now provided by ndn::nfd::RouteFlagsTraits.

Stream insertion operator is improved.

refs #3502

Change-Id: Ia912eab771fb00020385bf84d486955feae6aafa
diff --git a/tests/rib/rib-manager.t.cpp b/tests/rib/rib-manager.t.cpp
index 117b264..42e8c93 100644
--- a/tests/rib/rib-manager.t.cpp
+++ b/tests/rib/rib-manager.t.cpp
@@ -434,7 +434,7 @@
     Route route;
     route.faceId = ++faceId;
     route.cost = route.faceId * 10;
-    route.expires = time::steady_clock::TimePoint::max();
+    route.expires = ndn::nullopt;
     return route;
   };