Add phosphor-unit-failure-monitor framework

This application is designed to be called from the
OnFailure directive in a systemd unit file.  It will
stop or start another unit when the current unit
fails enough times to exceed its restart policy so
it isn't restarted again.

To do this, this application will check the ActiveState
property of the failing unit.  When it is 'failed', the
target unit will be started (or stopped).

The failing unit name, the target unit name, and if the
target should be stopped or started are all passed in
on the command line.

Change-Id: I93ecccaf1c091abddb769ddad8f43ecd9902210b
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
diff --git a/fail-monitor/main.cpp b/fail-monitor/main.cpp
new file mode 100644
index 0000000..b13dc7f
--- /dev/null
+++ b/fail-monitor/main.cpp
@@ -0,0 +1,30 @@
+/**
+ * Copyright © 2017 IBM Corporation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * This application will check the ActiveState property
+ * on the source unit passed in.  If that state is 'failed',
+ * then it will either stop or start the target unit, depending
+ * on the command line arguments.
+ */
+
+
+int main(int argc, char** argv)
+{
+
+
+    return 0;
+}