Refactor fastboot handling.

The current handling didn't properly handle unresponsive devices and recovery
invocation. Also refactored RunUtil.runTimedCmd to add more detail response to
support this.

Change-Id: Ibf1c681158187e3316e907e67ab663573ced5930
12 files changed