Improve error reports for ADB connection

- Refactored the open method.
- Removed duplicated USB entry
- Show a progress dialog with useful information while pushing to device
- Allow multi-lines error messages

review: @shepheb