Run processes without screen

This introduces new run_process() and screen_service() functions
and sets the groundwork to change how DevStack starts services.
screen_service() is simply a direct call to the screen portion of
the old screen_it() function and is intended to run commands that
only need to run under screen, such as log file watchers.

run_process() is a replacement for screen_it() (which remains until
all of the services are updated).  The usage is similar but requires
updates to every current screen_it() call to remove everything that
requires the command to be interpreted by a shell.

The old run_process() and _run_process() functions are still present as
old_run_process() and _old_run_process() to support the deprecated
screen_it() function.  These will all go away in the future once all
services have been confirmed to have been changed over.

There is a similar new set of stop process functions stop_process()
and screen_stop_service().  The old screen_stop() will also remain for
the deprecation period.

As an initial test/demostration this review also includes the changes
for lib/cinder to demonstrate what is required for every service.

I included the scripts I used to test this; tests/fake-service.sh and
tests/run-process.sh are quite rough around the edges and may bite.  They
should mature into productive members of the testing ecosystem someday.

Change-Id: I03322bf0208353ebd267811735c66f13a516637b
Merge branch 'cinder-backend-netapp' into dt-test
Merge branch 'kill-kill-kill' into dt-test
Merge branch 'erlang-b-gone' into dt-test
Merge branch 'conf-tempest' into dt-test
Merge branch 'test-service-functions' into dt-test
Merge branch 'exercise-refresh' into dt-test