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: I3cf6e591e577e0766f1a3bd78731b1a78a4f5abe
Reviewed-on: https://gerrit.chromium.org/gerrit/66682
Tested-by: Chris Sosa <sosa@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>
Commit-Queue: Chris Sosa <sosa@chromium.org>
5 files changed