Switch to using activity.runOnUiThread() for async activities.

ServerInstrumentation.runOnUiThread delegates to Instrumentation.runOnMainSync(). This
will block until the Runnable returns, meaning that further synchronization logic is
unnecessary. This change switches to using the (async) Activity.runOnUiThread call
wherever we have our own synchronization logic since two lots of synching isn't needed.

Signed-off-by: Simon Stewart <simons@fb.com>