unit-test: Introduce explicit build system concepts
unit-test: Introduce explicit build system concepts

Separate the mechanics of configuring, building and testing repositories
into build-system-specific classes that have explicit configure, build,
install, test and analyze phases.

I'm sure we'll achieve parity with bitbake shortly.

Tested:

Ran the CI scripts against the following repositories and confirmed they
are built and analyzed as expected:

* libmctp: Supports both autotools and CMake. The patch prefers
  autotools
* hiomapd: Autotools-based
* bmcweb: CMake-based
* pldm: Meson-based
* phosphor-dbus-monitor: autotools-based, but has a custom dependency on
  phosphor-snmp

Also introduced breaks in the libmctp packaging for each of the
configure, build and test phases to confirm that errors resulted in
exceptions terminating the run.

Change-Id: Ib02d5337e01068291e8bf6f87d153d9bb2d59024
Signed-off-by: Andrew Jeffery <02e0a999c50b1f88df7a8f5a04e1b76b35ea6a88@aj.id.au>

openbmc/openbmc-build-scripts,openbmc/openbmc-build-scripts