Separate emulator specific calls into an interface.

 Added genymotion and ADK emulator implementation files.
it seems like we don't have protection against calling this cb twice if two avds end up matching (unlikely as that is). `return` here just ends execution of this function, but the _.each loop will keep running, leading to perhaps multiple calls. up top, we could do `cb = _.once(cb);` in order to make sure this doesn't happen.