Add run_process() to start services without screen

* USE_SCREEN defaults to True, set it to False to exec the services
  directly via bash.  SCREEN_DEV is still supported until the CI
  scripts get updated.
* The extra logging file descriptors are properly closed in the child process
  and stdout/stderr are redirected to the log files.
* The screen_rc() call is still present; this means that stack-screenrc will
  have a complete record of what was started and rejoin-stack.sh may be able
  to re-create the setup under screen.
* The python interpreter was unwilling to write to the log files without
  unbufering stdout by using PYTHONUNBUFFERED.  This feels hackish and should
  be investigated further.

Change-Id: I012ed049f2c8b185a2e6929d73edc29e167bc21f
Merge "Add run_process() to start services without screen"
Merge remote-tracking branch 'm_src_repo/citrix-fixes' into build-temp