Replace screen_it() with run_process() throughout

run_process will use screen if USE_SCREEN=True (the default),
otherwise it will simply start the requested service. Therefore
wherever screen_it used, run_process can be instead.

Where stop_screen was found it has been replaced with stop_process.

A tail_log function has been added which will tail a logfile in a
screen if USE_SCREEN is True.

lib/template has been updated to reflect the use of the new
functions.

When using sg the quoting in run_process gets very complicated.
To get around this run_process and the functions it calls accepts
an optional third argument. If set it is a group to be used with sg.

Change-Id: Ia3843818014f7c6c7526ef3aa9676bbddb8a85ca
diff --git a/tests/run-process.sh b/tests/run-process.sh
index cdffc3a..bdf1395 100755
--- a/tests/run-process.sh
+++ b/tests/run-process.sh
@@ -1,9 +1,9 @@
 #!/bin/bash
-# tests/exec.sh - Test DevStack screen_it() and screen_stop()
+# tests/exec.sh - Test DevStack run_process() and stop_process()
 #
 # exec.sh start|stop|status
 #
-# Set USE_SCREEN to change the default
+# Set USE_SCREEN True|False to change use of screen.
 #
 # This script emulates the basic exec envirnment in ``stack.sh`` to test
 # the process spawn and kill operations.
@@ -94,12 +94,12 @@
 if [[ "$1" == "start" ]]; then
     echo "Start service"
     setup_screen
-    screen_it fake-service "$TOP_DIR/tests/fake-service.sh"
+    run_process fake-service "$TOP_DIR/tests/fake-service.sh"
     sleep 1
     status
 elif [[ "$1" == "stop" ]]; then
     echo "Stop service"
-    screen_stop fake-service
+    stop_process fake-service
     status
 elif [[ "$1" == "status" ]]; then
     status