netipmid: move sol timers to asio

The IPMI SOL console was using sd_event-based timers directly (without
any abstraction). This moves to a much higher level abstraction that is
very easy to use: asio timers.

Change-Id: Id5df76a1918cdfae420e01884d664234810b7abd
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
diff --git a/sol/sol_manager.cpp b/sol/sol_manager.cpp
index fc0efe9..2046fe4 100644
--- a/sol/sol_manager.cpp
+++ b/sol/sol_manager.cpp
@@ -102,16 +102,9 @@
     }
 
     // Create the SOL Context data for payload instance
-    auto context = std::make_unique<Context>(retryCount, sendThreshold,
+    auto context = std::make_unique<Context>(io, retryCount, sendThreshold,
                                              payloadInstance, sessionID);
 
-    std::get<eventloop::EventLoop&>(singletonPool)
-        .startSOLPayloadInstance(
-            payloadInstance,
-            std::chrono::duration_cast<eventloop::IntervalType>(
-                accumulateInterval),
-            std::chrono::duration_cast<eventloop::IntervalType>(retryInterval));
-
     payloadMap.emplace(payloadInstance, std::move(context));
 }
 
@@ -125,9 +118,6 @@
 
     payloadMap.erase(iter);
 
-    std::get<eventloop::EventLoop&>(singletonPool)
-        .stopSOLPayloadInstance(payloadInstance);
-
     if (payloadMap.empty())
     {
         stopHostConsole();