Add script to run internal testing

Script can be run as a one-shot invocation, with or without archiving logs, or
in continuous mode, where it will currently just loop and do git pulls every 25 seconds.

I will add support for blocking integration with out bots in a follow up.

Change-Id: I27b3563a7cf59560418faa235c9cb9509f02be41
diff --git a/tools/utils.py b/tools/utils.py
index 766f3da..d96151d 100644
--- a/tools/utils.py
+++ b/tools/utils.py
@@ -87,17 +87,22 @@
     if not os.path.isdir(path):
         raise
 
-def upload_dir_to_cloud_storage(directory, destination, is_html=False):
+def upload_dir_to_cloud_storage(directory, destination, is_html=False, public_read=True):
   # Upload and make the content encoding right for viewing directly
   cmd = ['gsutil.py', 'cp']
   if is_html:
     cmd += ['-z', 'html']
-  cmd += ['-a', 'public-read', '-R', directory, destination]
+  if public_read:
+    cmd += ['-a', 'public-read']
+  cmd += ['-R', directory, destination]
   PrintCmd(cmd)
   subprocess.check_call(cmd)
 
-def upload_file_to_cloud_storage(source, destination):
-  cmd = ['gsutil.py', 'cp', '-a', 'public-read', source, destination]
+def upload_file_to_cloud_storage(source, destination, public_read=True):
+  cmd = ['gsutil.py', 'cp']
+  if public_read:
+    cmd += ['-a', 'public-read']
+  cmd += [source, destination]
   PrintCmd(cmd)
   subprocess.check_call(cmd)