First attempt at supporting builds with Java 11

Includes:
- Bump protobuf to 3.8.0 and grpc-java to 1.21.0 (along with transitive
  dependencies such as Netty)
- Add jaxb_api at compile time when needed (removed in JDK 11)
- Bump Bnd to 4.1 (adds support for Java 11)

To build with JDK 11, uncomment lines in .bazelrc.
Tested with Bazel 0.26.0.

Change-Id: Ib8e0c7310eacf97328762606e57c01e4834e5565
diff --git a/WORKSPACE b/WORKSPACE
index 69f47c7..aeadecc 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -32,13 +32,21 @@
 
 generate_protobuf()
 
+load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
+
+protobuf_deps()
+
 load("//tools/build/bazel:grpc_workspace.bzl", "generate_grpc")
 
 generate_grpc()
 
 load("@io_grpc_grpc_java//:repositories.bzl", "grpc_java_repositories")
 
+# We omit as many dependencies as we can and instead import the same via
+# deps.json, so they get wrapped properly for Karaf runtime.
 grpc_java_repositories(
+    omit_bazel_skylib = False,
+    omit_com_google_android_annotations = False,
     omit_com_google_api_grpc_google_common_protos = True,
     omit_com_google_auth_google_auth_library_credentials = True,
     omit_com_google_auth_google_auth_library_oauth2_http = True,
@@ -46,14 +54,15 @@
     omit_com_google_code_gson = True,
     omit_com_google_errorprone_error_prone_annotations = True,
     omit_com_google_guava = True,
+    omit_com_google_guava_failureaccess = False,
     omit_com_google_j2objc_j2objc_annotations = True,
     omit_com_google_protobuf = True,
     omit_com_google_protobuf_javalite = True,
     omit_com_google_protobuf_nano_protobuf_javanano = True,
-    omit_com_google_re2j = True,
     omit_com_google_truth_truth = True,
     omit_com_squareup_okhttp = True,
     omit_com_squareup_okio = True,
+    omit_io_grpc_grpc_proto = True,
     omit_io_netty_buffer = True,
     omit_io_netty_codec = True,
     omit_io_netty_codec_http = True,
@@ -67,8 +76,9 @@
     omit_io_netty_transport = True,
     omit_io_opencensus_api = True,
     omit_io_opencensus_grpc_metrics = True,
-    omit_javax_annotation = False,
+    omit_javax_annotation = True,
     omit_junit_junit = True,
+    omit_net_zlib = True,
     omit_org_apache_commons_lang3 = True,
     omit_org_codehaus_mojo_animal_sniffer_annotations = True,
 )