Add run_service() to start services without screen

* USE_SCREEN defaults to True, set it to False to exec the services
  directly from bash.  SCREEN_DEV is still supported until the CI
  scripts get updated.
* The extra logging file descriptors are properly closed in the child process
* 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 branch 'run-service' into dt-test