Refactor the way we track the devserver in vm tests and kill it harder.

This CL re-writes most of the devserver_wrapper to be better code. I haven't
touched any of the non-file / non-watching devserver components, but I
refactored the rest.

Major changes:
1) Use a pid file to track the devserver and only kill that devserver with
increasingly painful signals.
2) Have Start() only return once the devserver is started.
3) Make the default paths work correctly. Chroot/outside chroot path business
is not handled very well by all calling scripts and most scripts don't care
as long as they can print the log. Take advantage of that.
4) Make the devserver_wrapper_stress_test conform with our code style.

BUG=chromium:251309
TEST=Ran au_test_harness + devinstall_test +
devserver_wrapper_stress_test.
CQ-DEPEND=CL:66548

Change-Id: I28a288b5a8a5c338c1b0c85cf6547c38fa3c9654
Reviewed-on: https://gerrit.chromium.org/gerrit/66987
Tested-by: Chris Sosa <sosa@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>
Commit-Queue: Chris Sosa <sosa@chromium.org>
5 files changed