Handle errors during spawn

Related to #1785. child_process#spawn does not throw synchronous errors, but I've added callbacks for error handling.

Some code already handles errors:
>    lib/devices/ios/ios.js
>    lib/devices/ios/ios-log.js
>    lib/devices/android/chrome.js
>    lib/devices/android/logcat.js

The rest I have tried to provide a useful error message, and preempt further running if it is a fatal error.