Make the BattOr wrapper gracefully handle broken pipe during shutdown
Make the BattOr wrapper gracefully handle broken pipe during shutdown

Before this change, when the BattOr wrapper tried to stop the BattOr
agent shell and the shell had already died, an exception would be
thrown and propagate outwards. This doesn't make sense, given that the
purpose of StopShell() is to ensure that the shell is dead: if it's
already dead, StopShell() should just be a no-op rather than throw an
exception.

The ramification of this is that in many cases the serial logs weren't
being uploaded when the BattOr agent died unnaturally, which is the most
important time to upload the serial logs.

BUG=chromium:754746

Review-Url: https://codereview.chromium.org/2997003002

catapult-project/catapult,catapult-project/catapult,catapult-project/catapult,catapult-project/catapult,catapult-project/catapult,catapult-project/catapult,catapult-project/catapult