regulators: Create TemporaryFile class

Create class for handling temporary files:
* Constructor creates the temporary file
* Destructor deletes the temporary file
* Provides move constructor and move assignment operator so that class
  can be stored in containers like std::vector
* Throws exception if errors occur creating or deleting the temporary file

This class is an enhanced version of the TmpFile class in the test
directory.  A future commit will delete TmpFile and modify testcases to
use TemporaryFile instead.

Tested:
* Created automated tests for most of the code in the class.
* Manually tested some error cases that were difficult to automate.

Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
Change-Id: Ieda58f4d2738dc4f184232936bc082c0d3a93fa0
diff --git a/phosphor-regulators/src/meson.build b/phosphor-regulators/src/meson.build
index 6f067b5..2012855 100644
--- a/phosphor-regulators/src/meson.build
+++ b/phosphor-regulators/src/meson.build
@@ -15,6 +15,7 @@
     'rail.cpp',
     'sensor_monitoring.cpp',
     'system.cpp',
+    'temporary_file.cpp',
 
     'actions/if_action.cpp',
     'actions/i2c_compare_bit_action.cpp',