Add support for bot part of internal_test.py

--continuous will now run in a loop and wait for work based on a file on GCS
--bot will run the other end of the pipeline, putting work on the GCS, waiting for results

There is some sanity checking to ensure that there are no duplicate
processes running - currently the default is to simply fail and log
the status.

Current setup has excessive logging of the magic files on purpose, to
ensure that we can quickly fix any synchronization issues.

Change-Id: I5d6792a880ab66c73a6ef7ee7396cb3873e06396
diff --git a/tools/run_on_app.py b/tools/run_on_app.py
index b0ca816..c2be08e 100755
--- a/tools/run_on_app.py
+++ b/tools/run_on_app.py
@@ -49,6 +49,10 @@
                     help='Running on golem, do not build or download',
                     default=False,
                     action='store_true')
+  result.add_option('--ignore-java-version',
+                    help='Do not check java version',
+                    default=False,
+                    action='store_true')
   result.add_option('--no-libraries',
                     help='Do not pass in libraries, even if they exist in conf',
                     default=False,
@@ -149,8 +153,10 @@
       exit(exit_code)
 
 def main(argv):
-  utils.check_java_version()
   (options, args) = ParseOptions(argv)
+  if not options.ignore_java_version:
+    utils.check_java_version()
+
   if options.run_all:
     return run_all(options, args)
   return run_with_options(options, args)