Add more logging to RequestRedirectHandler when session id is missing in request

Summary:
Add better error reporting in case a request comes in that contains no session
id.

Test Plan:
```
$ mvn clean install
...
[INFO] Reactor Summary:
[INFO]
[INFO] selendroid ......................................... SUCCESS [  0.123 s]
[INFO] android-driver-app ................................. SUCCESS [  2.377 s]
[INFO] selendroid-server-common ........................... SUCCESS [  1.005 s]
[INFO] selendroid-server .................................. SUCCESS [ 15.105 s]
[INFO] selendroid-grid-plugin ............................. SUCCESS [  0.595 s]
[INFO] selendroid-common .................................. SUCCESS [  0.834 s]
[INFO] selendroid-standalone .............................. SUCCESS [ 16.157 s]
[INFO] selendroid-client .................................. SUCCESS [  0.541 s]
[INFO] selendroid-test-app ................................ SUCCESS [  4.496 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
```

- Ran one of the Facebook e2e tests

Reviewers: mkonicek

Reviewed By: mkonicek

Differential Revision: https://reviews.facebook.net/D29193
Fix race condition in ServerInstrumentation.finishAllActivities()

Summary:
The `.finishAllActivities()` method did not run on the main thread when
a session got deleted. The activities that are finished are coming from
the `activitiesReporter` which also reports (and removes) activities
that were destroyed. If these things are running on seperate threads,
race conditions may occur sometimes.

Test Plan:
- Ran one of the Facebook e2e tests
```
$ mvn clean install
...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] selendroid ......................................... SUCCESS [  0.115 s]
[INFO] android-driver-app ................................. SUCCESS [  2.056 s]
[INFO] selendroid-server-common ........................... SUCCESS [  0.895 s]
[INFO] selendroid-server .................................. SUCCESS [ 15.418 s]
[INFO] selendroid-grid-plugin ............................. SUCCESS [  0.703 s]
[INFO] selendroid-common .................................. SUCCESS [  0.901 s]
[INFO] selendroid-standalone .............................. SUCCESS [ 15.368 s]
[INFO] selendroid-client .................................. SUCCESS [  0.540 s]
[INFO] selendroid-test-app ................................ SUCCESS [  4.674 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
```

Reviewers: mkonicek, ainsej, krishnakumar, juyuan.yang.9

Reviewed By: mkonicek

Differential Revision: https://reviews.facebook.net/D29199
Fix 'error: cannot find symbol' error

Summary: This slipped through in another diff. :/

Test Plan:
```
$ mvn clean install
...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] selendroid ......................................... SUCCESS [  0.103 s]
[INFO] android-driver-app ................................. SUCCESS [  1.962 s]
[INFO] selendroid-server-common ........................... SUCCESS [  0.823 s]
[INFO] selendroid-server .................................. SUCCESS [ 14.917 s]
[INFO] selendroid-grid-plugin ............................. SUCCESS [  0.569 s]
[INFO] selendroid-common .................................. SUCCESS [  0.826 s]
[INFO] selendroid-standalone .............................. SUCCESS [ 15.737 s]
[INFO] selendroid-client .................................. SUCCESS [  0.532 s]
[INFO] selendroid-test-app ................................ SUCCESS [  4.301 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
```

Reviewers: mkonicek

Reviewed By: mkonicek

Differential Revision: https://reviews.facebook.net/D29241
Added folder monitoring capability and fixed emulator launching problem.
- The folder monitoring allows users to add one or more native android
apps on fly and selendroid immediately signs and adds these files to
the app store so they can be used without restarting the node.
- Adding one seconds wait before calling "isDeviceReady" to avoid the
command sent too quickly while the emulator still starting and not ready
to receive any commands

Signed-off-by: Binh Vu <bvu@paypal.com>