Fixes AdbConnectionTest.shouldSendKeyEventViaAdb
Provide full output when APK installation fails

Summary:
We used to hide the output of `adb install` when app or selendroid-server installation failed.
Throwing a checked exception makes it harder to ignore the failure and makes `install()` consistent with `uninstall()`.

Test Plan:
- `mvn clean install`
- Ran an end-to-end test

Reviewers: ainsej, jimpurbrick, juyuan.yang.9

Reviewed By: juyuan.yang.9

Differential Revision: https://reviews.facebook.net/D24615
More logging on display check failures

Summary:
Detailed logging when we fail to find an element. This is ofter useful for debugging otherwise hard-to-debug issues with the view hierarchy.
An example is when I found that enabling the virtual keyboard on the Google emulator makes certain views in our app hidden (visibility == `View.GONE`).

Test Plan:
- `mvn clean install`
- Ran an end to end test failing to find an element. Saw output like this:

```
I/SELENDROID( 6521): io.selendroid.server.handler.FindElement#safeHandle:38 - find element command using 'id' with selector 'send_button'.
I/SELENDROID( 6521): io.selendroid.server.AndroidServlet#handleRequest:350 - traffic_stats: rx_bytes 6485 tx_bytes 33790
I/SELENDROID( 6521): io.selendroid.server.handler.GetElementDisplayed#safeHandle:32 - is element displayed command
W/SELENDROID( 6521): io.selendroid.server.model.AndroidNativeElement#isDisplayed:121 - Display check failed
W/SELENDROID( 6521): for view: android.widget.ImageButton{b2ab9750 VFED..C. ......I. 0,0-0,0 #7f07016b app:id/send_button}
W/SELENDROID( 6521): isVisible: true
W/SELENDROID( 6521): visibility: 0
W/SELENDROID( 6521): isShown: false
W/SELENDROID( 6521): hasWindowFocus: true
W/SELENDROID( 6521): isEnabled: true
W/SELENDROID( 6521): width: 0
W/SELENDROID( 6521): height: 0
W/SELENDROID( 6521): current activity: com.example.MainActivity@b28e6910
W/SELENDROID( 6521): focused view: com.example.ExpandingBackgroundEditText{b295dc50 VFED..CL .F...... 69,5-339,66 #7f0704e2 app:id/edit_text}
W/SELENDROID( 6521): io.selendroid.server.model.AndroidNativeElement#logIsShownFailure:145 - Display check failed because View.isShown() == false
W/SELENDROID( 6521): io.selendroid.server.model.AndroidNativeElement#logIsShownFailure:149 - isShown: View android.widget.ImageButton{b2ab9750 VFED..C. ......I. 0,0-0,0 #7f07016b app:id/send_button} is not visible because its ancestor android.widget.LinearLayout{b2a9e538 G.E..... ......ID 0,72-480,144 #7f070163 app:id/composer_actions_container} has visibility 8
```

Reviewers: ainsej, kumar.rangarajan, juyuan.yang.9

Reviewed By: kumar.rangarajan, juyuan.yang.9

Subscribers: kumar.rangarajan

Differential Revision: https://reviews.facebook.net/D24849
Update runEnd2EndTests.sh
Preparing 0.12.0 release.
pushing next snapshot version.
Don't log the exception stack trace when getting signature algorithm

Summary: It turns out people are likely to confuse this exception for the reason tests fail.

Test Plan: `$ mvn clean install`

Reviewers: kumar.rangarajan, ainsej, juyuan.yang.9

Reviewed By: juyuan.yang.9

Differential Revision: https://reviews.facebook.net/D25281
Update README.md
Fixing NPE.

In case of an shutting down selendroid-standalone (using an already started emulator) this fix is fixing the NPE. The port in this case was not set by selendroid, it was set by the system or manually by the user.
Updating changelog.
Clean up class.
Use guava Lists instead of jcommander Lists
Make retries in standalone driver configurable

Summary:
The value for the amount of retries for starting an emulator was previously
hardcoded. This diff adds an aption to the SelendroidConfiguration to configure
the amount of retries and adds test coverage for the retry feature.

For reference, this was the commit that introduced the retry logic:
https://github.com/selendroid/selendroid/commit/a12e5038f80fbed0a208d02a5f4e5926ee627e61

Test Plan: - run the tests (especially the SelendroidStandaloneDriverTest)

Reviewers: mkonicek

Reviewed By: mkonicek

Subscribers: dstroganova

Differential Revision: https://reviews.facebook.net/D28341
Passing through the output generated by shell command. Also logging it.
removed unnecessary brackets
Merge pull request #695 from operatiay/read_adb_output

Read adb output
Modifying selendroid-standalone argument -emulatorOptions to handle multiple options for emulator
Fix app crash handling, provide more debug output when it fails

Summary:
- The check for the crash log file was missing a forward slash at the end of the path (e.g. `ls /storage/emulated` instead of `ls storage/emulated/`)
- Add the output of `adb shell ps` in case the app crash handling fails to provide more debugging information (make it clear whether the process is still alive or not)
- Fix some random typos and extra whitespace

Test Plan:
- `mvn clean install`
- Ran one of the Facebook end-to-end tests.

Reviewers: ainsej, kumar.rangarajan, juyuan.yang.9, asm

Reviewed By: asm

Differential Revision: https://reviews.facebook.net/D28677
Added -keepEmulator option. Is set, selendroid server will keep emulator running after test ends.
Added -keepEmulator option. Is set, selendroid server will keep emulator running after test ends. Adding a unit test