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.