Convert kcsbridged to C++17, sdbusplus::asio, and new IPMI D-Bus API

This rewrites the C-style kcsbridged in modern C++, taking advantage of
the sdbusplus::asio bindings. This also converts the bridge to use the
new IPMI D-Bus API, which is method based instead of signal/method
based.

Tested-by: Using a parameterized unit file, launching via
           sytemctl start phosphor-ipmi-kcs@ipmi-kcs3
    verify from host:
           modprobe ipmi_si
           ipmitool mc info

Change-Id: I3a3e85a23fa7b76814848fcf270d25e4510bdd77
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
diff --git a/configure.ac b/configure.ac
index a2e5836..08994cd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,15 +4,18 @@
 AC_CONFIG_HEADERS([config.h])
 AM_INIT_AUTOMAKE([subdir-objects -Wall -Werror foreign dist-xz])
 AM_SILENT_RULES([yes])
+AC_LANG([C++])
 
 # Checks for programs.
-AC_PROG_CC
+AC_PROG_CXX
 AM_PROG_AR
 AC_PROG_INSTALL
 AC_PROG_MAKE_SET
 
 # Checks for libraries.
 PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 221])
+PKG_CHECK_MODULES([PHOSPHOR_LOGGING], [phosphor-logging])
+PKG_CHECK_MODULES([SDBUSPLUS], [sdbusplus])
 
 # Checks for header files.
 AC_CHECK_HEADER(systemd/sd-bus.h, ,[AC_MSG_ERROR([Could not find systemd/sd-bus.h...systemd development package required])])
@@ -23,6 +26,7 @@
 )
 
 # Checks for typedefs, structures, and compiler characteristics.
+AX_CXX_COMPILE_STDCXX([17], [noext], [mandatory])
 AX_APPEND_COMPILE_FLAGS([-fpic -Wall -Werror], [CFLAGS])
 
 # Checks for library functions.