Refactor how we detect and kill executable

This will help medium tests later on
Refresh apt cache after adding a new arch
Enabling installing launcher in non existing dir

* Add tests for that case (only happening in containers)
* Fix a broken test as we raise an exception for quitting the mainloop.
  This is trapped in the main thread, but not if we call from another thread.
Fix a bug if the download part is quicker than apt
dbus doesn't work properly in docker, relaunch it

We relaunch dbus-launch for each ssh connection so that we can communicate
to dconf over dbus. Having one instance in another ssh connection was creating
issues. We don't really care about the overhead as it's only in tests.
Get all medium android tests to run

* Use new wrapper to check and kill process inside the container.
* Remove some hardcoded leftover.
* Ensure we use /dev/null for stderr, stdin, stdout to avoid mixing the fds
  and killing the tty layout.
* Provide some fake android studio script, mocking the real layout and dual
  process.
* Use shorter timeouts for our medium tests than the large ones. The install
  one is still pretty long because we install some apt packages.
* Change the html pointer to our fake tarball.