Many improvements for the event scheduler

Another big change: maintaining an outstanding interests and
re-expressing this interest every 4 seconds (or 4 seconds after interest
is satisfied and expressed again)

Initial testing for SyncLogic
diff --git a/model/sync-logic-event-container.h b/model/sync-logic-event-container.h
index 3b99d76..ade2c63 100644
--- a/model/sync-logic-event-container.h
+++ b/model/sync-logic-event-container.h
@@ -44,15 +44,21 @@
 
 struct LogicEvent
 {
-  LogicEvent (const boost::system_time &_time, Event _event)
+  LogicEvent (const boost::system_time &_time, Event _event, uint32_t _label)
     : time (_time)
     , event (_event)
+    , lbl (_label)
   { }
   
   boost::system_time time;
   Event event;
+  uint32_t lbl;
 };
 
+/// @cond include_hidden
+struct byLabel { } ;
+/// @endcond
+
 /**
  * \ingroup sync
  * @brief ???
@@ -63,6 +69,11 @@
 
     mi::ordered_non_unique<
       mi::member<LogicEvent, boost::system_time, &LogicEvent::time>
+      >,
+
+    mi::ordered_non_unique<
+      mi::tag<byLabel>,
+      mi::member<LogicEvent, uint32_t, &LogicEvent::lbl>
       >
     >
   >