Enable multi-agent support

even when q-svc is disabled, i.e. on node without q-svc in multi-agent architecture,
state_path will be configured in quantum.conf so that agent doesn't crashs anymore

Bug 1156685

Change-Id: I28625e4b606fa61c35179248321632d3d797c547
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 "Enable multi-agent support"
Merge "Add run_process() to start services without screen"