Better error message if ADB is already running

Detect if it is running based on failiure to bind 5037. The tests still
correctly identify if an actual adb background process is runnning even
though it binds to 5037. However, if an adb background process is not
running and 5037 is in use, chances are that the Simulator was started
in another profile.
Listing devices reuses data from device tracker
Fixed crashing test if device is offline on Win

Conflicts:
	addon/test/test-z-adb.js
Revert test device tracking change (for fallback)
Resolve promise immediately
Removed test-z-adb.js again
Merge pull request #763 from bkase/better-adb-is-running-errors

Better error message if ADB is already running
Merge pull request #771 from bkase/no-socket-adb-devices

No-socket ADB devices
Fix message callback index.