Expose adb pull interface

@jryans 
Do you have time take a look?
The patch is finished yesterday and I have tested it this morning, pulling some normal files(pictures, videos, musics) from mobile to desktop, it seems work very well.
Nit: Use semicolon after `break`. Check the other instances of this too.