bus/call: Implement exception handling on call failures
bus/call: Implement exception handling on call failures

The benefit of these exceptions over the current message error handling
is that we populate an sd_bus_error struct with the error data from the
sd_bus_call. In the cases where there is an underlying dbus error, we
will get more information from the sd_bus_error that is plumbed through
the exception message.

Tested:
  Built and booted a BMC + Host from a full tray poweroff with no
  failed units.

Change-Id: If55b9e380815bc2ac02eb3683af19a6510c4f4cf
Signed-off-by: William A. Kennington III <30fff5198f4d10ca1117e5f3ec82f3b4b8900d81@google.com>

openbmc/sdbusplus,openbmc/sdbusplus,openbmc/sdbusplus,openbmc/sdbusplus