fix Android library build regression for non-Windows platforms
rebuild bootimage-generator when vm-objects have changed
exit with error code from test.sh if any test fails
test non-debug build first in ci.sh

If something's broken, the script will fail faster if we test the
faster build first, giving us quicker feedback.
ensure that array classes implement Cloneable and Serializable in bootimage build
ensure that we can intercept static Java methods in bootimage build

Timezone code was broken in the Android class library bootimage build
because the code we use to intercept loading the tzdata file wasn't
working.  The reason is have no way of intercepting static methods at
runtime in the bootimage build without telling the bootimage-generator
we're going to do it ahead of time.  So now we do tell it so.

This commit also removes the need to intercept Thread methods since we
can update Thread.vmThread in VMThread.create instead.
remove -static-libstdc++ -static-libgcc from bootimage-generator-lflags

MinGW-w64's GCC doesn't understand those flags, and we shouldn't be
linking statically or dynamically with either of those libraries.