mash: Exit the root process if the window manager service crashes

Both the browser and ash cache information about each other's state. For now
we've decided not to try to make ash restartable. Instead we're going to
bring everything down when ash crashes. The underlying Chrome OS session
manager will then restart chrome --mash to bring everything back up.

* Set a quit callback on all services and terminate the root process if the
ash service disconnects.
* Plumb the quit callback through the BackgroundServiceManager.
* Don't use mash_session from mash_runner. It's simpler to start the desired
services (window manager, quick_launch) explicitly.

TODO: Shut down root process when mus ui service crashes.
TODO: The window server hits a DCHECK when the root process shuts down.

BUG=678683
TEST=added to service_manager_unittests
TBR=tsepez@chromium.org

Review-Url: https://codereview.chromium.org/2646033002
Cr-Commit-Position: refs/heads/master@{#447408}
12 files changed