Set android compiler dyamically.

Before we set the compiler options the first time a java or xml file is open
and from that point on the compiler would stay static. In case we are working
on several android projects at the same time (e.g. library + app + tests) we
would need to manally set the compiler options.

Now every time any AndroidXxx method is called we try to find the build file
(build.gradle or build.xml) and set the compiler each time. This allows us to
run the build when editing any file and on most cases they will work on the
correct project.
Allow AndroidBuild to invoke any gradle task
Detect failed tests during connectedCheck task in gradle.

Unfortunately we cannot get the failing test name, file and line because the
test reports are output as html files instead of plain text to stdout.
Add errorformat for linter