Prototype for remote execution using gRPC and Netty transport

This change implements a remote worker that executes work (build or test).
Bazel will be a client of the remote worker. The communication uses gRPC
and Netty as transport.

A single remote worker has little advantage over running locally. Additional
infrastructure is needed to run workers on multiple machines and distributing
the work among them.

This change provides the basic building blocks for a distributed build farm.

(Mainly reformatting changes compared to https://bazel-review.googlesource.com/3110, some BUILD file changes.)

--
Change-Id: If7d285444ef42a6823b59443af17b61b04b9ce6a
Reviewed-on: https://bazel-review.googlesource.com/#/c/3110/
MOS_MIGRATED_REVID=122376861
diff --git a/src/main/java/com/google/devtools/build/lib/remote/RemoteOptions.java b/src/main/java/com/google/devtools/build/lib/remote/RemoteOptions.java
index 933b2b1..5ca8abf 100644
--- a/src/main/java/com/google/devtools/build/lib/remote/RemoteOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/remote/RemoteOptions.java
@@ -30,10 +30,12 @@
   public String hazelcastNode;
 
   @Option(
-    name = "rest_worker_url",
+    name = "remote_worker",
     defaultValue = "null",
     category = "remote",
-    help = "URL for the REST worker."
+    help =
+        "Hostname and port number of remote worker in the form of host:port. "
+            + "For client mode only."
   )
-  public String restWorkerUrl;
+  public String remoteWorker;
 }