pseq: Add Services class for automated testing

Add a Services class hierarchy to enable mocking and automated testing.
The class methods provide a high level abstraction for system services
like error logging and presence detection.

* Services: Abstract base class
* BMCServices: Sub-class with real implementation using BMC services
* MockServices: Sub-class with mock implementation for automated testing

* Tested:
  * Tested all methods in BMCServices class
    * When method succeeds
    * When method fails; verify all error paths
  * The detailed test plan is available in a gist:
    * https://gist.github.com/smccarney/e7a250011133c7e3040a8bce240705c5

Change-Id: If17ef8c4540b3ee07cced947bc49a950141b38ae
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
diff --git a/phosphor-power-sequencer/src/config_file_parser.hpp b/phosphor-power-sequencer/src/config_file_parser.hpp
index 3764b7c..dbd41d7 100644
--- a/phosphor-power-sequencer/src/config_file_parser.hpp
+++ b/phosphor-power-sequencer/src/config_file_parser.hpp
@@ -21,6 +21,7 @@
 
 #include <cstdint>
 #include <filesystem>
+#include <memory>
 #include <stdexcept>
 #include <string>
 #include <vector>