make ipmid respond to SIGTERM and SIGINT for clean shutdown

On some systems ipmid was not responding to SIGTERM so systemd
could not shut it down in a clean manner, resorting to SIGKILL
after a long timeout. This adds code to respond to SIGTERM and
SIGINT and safely unwind all the provider libraries on exit.

Tested-by: running ipmid; in another shell, and running
           'killall -15 ipmid' or 'killall -2 ipmid' to send
           SIGTERM or SIGINT and watch that ipmid shuts down
           in a controlled and timely manner.

Change-Id: I690846796523bebea1a08845c0d17e1df2a94fee
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
diff --git a/transporthandler.cpp b/transporthandler.cpp
index 0b5a00c..24fea47 100644
--- a/transporthandler.cpp
+++ b/transporthandler.cpp
@@ -37,7 +37,8 @@
 #error filesystem not available
 #endif
 
-extern std::unique_ptr<phosphor::Timer> networkTimer;
+// timer for network changes
+std::unique_ptr<phosphor::Timer> networkTimer = nullptr;
 
 const int SIZE_MAC = 18; // xx:xx:xx:xx:xx:xx
 constexpr auto ipv4Protocol = "xyz.openbmc_project.Network.IP.Protocol.IPv4";