Upgrade to a new Bazel version

This one has better performance and various new features. It also
prevents us from falling too far behind upstream.

Change-Id: I3b8e1c5bda886ea2e990523af9e6de2434c784be
diff --git a/aos/build/queues.bzl b/aos/build/queues.bzl
index 87d5b54..91b4978 100644
--- a/aos/build/queues.bzl
+++ b/aos/build/queues.bzl
@@ -18,10 +18,10 @@
     progress_message = 'Generating C++ code for %s' % ctx.file.src.short_path,
   )
 
-def _single_queue_file_outputs(attrs):
+def _single_queue_file_outputs(src):
   return {
-    'header': attrs.src.name + '.h',
-    'cc': attrs.src.name + '.cc',
+    'header': src.name + '.h',
+    'cc': src.name + '.cc',
   }
 
 _single_queue_file = rule(
@@ -30,7 +30,7 @@
     'src': attr.label(
       mandatory = True,
       single_file = True,
-      allow_files = FileType(['.q']),
+      allow_files = ['.q'],
     ),
     'q_deps': attr.label(
       providers = ['transitive_q_files'],
@@ -42,6 +42,7 @@
     '_queue_compiler': attr.label(
       executable = True,
       default = Label('//aos/build/queues:compiler'),
+      cfg = 'host',
     ),
   },
   outputs = _single_queue_file_outputs,
@@ -60,7 +61,7 @@
     'srcs': attr.label_list(
       mandatory = True,
       non_empty = True,
-      allow_files = FileType(['.q']),
+      allow_files = ['.q'],
     ),
     'deps': attr.label_list(
       mandatory = True,
diff --git a/aos/common/controls/BUILD b/aos/common/controls/BUILD
index 44e6db4..de100bb 100644
--- a/aos/common/controls/BUILD
+++ b/aos/common/controls/BUILD
@@ -31,6 +31,7 @@
     '//aos/testing:googletest',
     '//aos/testing:test_shm',
   ],
+  testonly = True,
 )
 
 cc_library(
diff --git a/aos/downloader/downloader.bzl b/aos/downloader/downloader.bzl
index e5179c9..0219cf7 100644
--- a/aos/downloader/downloader.bzl
+++ b/aos/downloader/downloader.bzl
@@ -61,7 +61,7 @@
   attrs = {
     '_downloader': attr.label(
       executable = True,
-      cfg = HOST_CFG,
+      cfg = 'host',
       default = Label('//aos/downloader'),
     ),
     'start_srcs': attr.label_list(
diff --git a/aos/externals/seasocks/gen_embedded.bzl b/aos/externals/seasocks/gen_embedded.bzl
index 4bba776..07a3a33 100644
--- a/aos/externals/seasocks/gen_embedded.bzl
+++ b/aos/externals/seasocks/gen_embedded.bzl
@@ -23,6 +23,7 @@
     '_gen_embedded': attr.label(
       executable = True,
       default = Label('//aos/externals/seasocks:gen_embedded'),
+      cfg = 'host',
     ),
   },
   outputs = {