control: Extend actions from the config base object

Make actions also be base config objects to allow profiles to be defined
on an action. This also provides the parsing of variable values from the
JSON of a configured action.

Included in this commit is an action parsing error exception class that
actions will use when a required attribute fails to be parsed from the
JSON for the given action.

Change-Id: I0fb040afb09d17830e7bb1a587de1b501b638eae
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/control/json/actions/request_target_base.cpp b/control/json/actions/request_target_base.cpp
index 2de3e46..5f53de3 100644
--- a/control/json/actions/request_target_base.cpp
+++ b/control/json/actions/request_target_base.cpp
@@ -32,8 +32,7 @@
 using json = nlohmann::json;
 using namespace phosphor::logging;
 
-RequestTargetBase::RequestTargetBase(const json&) :
-    ActionBase(RequestTargetBase::name)
+RequestTargetBase::RequestTargetBase(const json& jsonObj) : ActionBase(jsonObj)
 {
     // There are no JSON configuration parameters for this action
 }