Android mobile :reset now uses adb uninstall/pm install

The old clean.apk approach to resetting state doesn't work well. Using
instrumentation means the app is running when the data is deleted. It's better
to use the standard adb install/uninstall commands.

To make this faster, the apk is pushed to the device once (/data/local/tmp/) and
then installed from that location on each reset. Using the regular adb install
command is slow due to the file transfer speed.

Before uninstalling the app, it's stopped to prevent crashes. Some apps don't
like to be uninstalled while running.

Fix #1283
Fix #1252