Add check for device not found

https://github.com/appium/appium/issues/2995
there's an async bug here. What we want to do is only return cb once we're done with restarting adb. What this will do (if `deviceCheck` is true) is:

1. run `setTimeout`, putting its callback on the event loop for deferred execution
2. run `return cb(err)`, starting the next retry loop
3. now we have undefined behavior, because at some random point about 1 second into the future, we'll call `this.restartAdb`.

What we really want is:

```js
if (deviceCheck) {
  // log message etc
  setTimeout(function () {
    this.restartAdb(function () {
       // some function to get devices
       someFunction(function () {
         _cb(new Error("Device not found"));
       });
    }.bind(this));
  }.bind(this), 1000);
  return;
}
return cb(err);
```