Fix the Bazel build re/nanopb

This change modifies the BUILD rule dependencies used for nanopb,
switching them from third_party to //external -- the former uses
submodules, which don't work well with Bazel (since Bazel removes
submodules from repositories as it fetches them, preferring instead to
unify submodule versions across the workspace via the top-level
WORKSPACE configuration).
diff --git a/BUILD b/BUILD
index 52d1d5a..025878d 100644
--- a/BUILD
+++ b/BUILD
@@ -41,6 +41,7 @@
 
 
 
+
 cc_library(
   name = "gpr",
   srcs = [
@@ -154,6 +155,7 @@
 )
 
 
+
 cc_library(
   name = "grpc",
   srcs = [
@@ -294,10 +296,6 @@
     "src/core/lib/tsi/ssl_types.h",
     "src/core/lib/tsi/transport_security.h",
     "src/core/lib/tsi/transport_security_interface.h",
-    "third_party/nanopb/pb.h",
-    "third_party/nanopb/pb_common.h",
-    "third_party/nanopb/pb_decode.h",
-    "third_party/nanopb/pb_encode.h",
     "src/core/ext/transport/chttp2/client/insecure/channel_create.c",
     "src/core/ext/transport/chttp2/client/secure/secure_channel_create.c",
     "src/core/ext/transport/chttp2/server/insecure/server_chttp2.c",
@@ -459,9 +457,6 @@
     "src/core/lib/tsi/fake_transport_security.c",
     "src/core/lib/tsi/ssl_transport_security.c",
     "src/core/lib/tsi/transport_security.c",
-    "third_party/nanopb/pb_common.c",
-    "third_party/nanopb/pb_decode.c",
-    "third_party/nanopb/pb_encode.c",
   ],
   hdrs = [
     "include/grpc/byte_buffer.h",
@@ -486,6 +481,7 @@
     "//external:libssl",
     "//external:zlib",
     ":gpr",
+    "//external:nanopb",
   ],
   copts = [
     "-std=gnu99",
@@ -493,6 +489,7 @@
 )
 
 
+
 cc_library(
   name = "grpc_codegen_lib",
   srcs = [
@@ -529,6 +526,7 @@
 )
 
 
+
 cc_library(
   name = "grpc_unsecure",
   srcs = [
@@ -655,10 +653,6 @@
     "src/core/lib/transport/static_metadata.h",
     "src/core/lib/transport/transport.h",
     "src/core/lib/transport/transport_impl.h",
-    "third_party/nanopb/pb.h",
-    "third_party/nanopb/pb_common.h",
-    "third_party/nanopb/pb_decode.h",
-    "third_party/nanopb/pb_encode.h",
     "src/core/ext/transport/chttp2/client/insecure/channel_create.c",
     "src/core/ext/transport/chttp2/server/insecure/server_chttp2.c",
     "src/core/ext/transport/chttp2/transport/alpn.c",
@@ -800,9 +794,6 @@
     "src/core/lib/transport/static_metadata.c",
     "src/core/lib/transport/transport.c",
     "src/core/lib/transport/transport_op_string.c",
-    "third_party/nanopb/pb_common.c",
-    "third_party/nanopb/pb_decode.c",
-    "third_party/nanopb/pb_encode.c",
   ],
   hdrs = [
     "include/grpc/byte_buffer.h",
@@ -824,6 +815,7 @@
   ],
   deps = [
     ":gpr",
+    "//external:nanopb",
   ],
   copts = [
     "-std=gnu99",
@@ -831,6 +823,7 @@
 )
 
 
+
 cc_library(
   name = "grpc_zookeeper",
   srcs = [
@@ -851,6 +844,7 @@
 )
 
 
+
 cc_library(
   name = "grpc++",
   srcs = [
@@ -983,6 +977,7 @@
 )
 
 
+
 cc_library(
   name = "grpc++_codegen_lib",
   srcs = [
@@ -1050,6 +1045,7 @@
 )
 
 
+
 cc_library(
   name = "grpc++_unsecure",
   srcs = [
@@ -1174,6 +1170,7 @@
 )
 
 
+
 cc_library(
   name = "grpc_plugin_support",
   srcs = [
@@ -1225,6 +1222,7 @@
 )
 
 
+
 cc_library(
   name = "grpc_csharp_ext",
   srcs = [
@@ -1244,6 +1242,7 @@
 
 
 
+
 objc_library(
   name = "gpr_objc",
   srcs = [
@@ -1357,6 +1356,7 @@
 )
 
 
+
 objc_library(
   name = "grpc_objc",
   srcs = [
@@ -1521,9 +1521,6 @@
     "src/core/lib/tsi/fake_transport_security.c",
     "src/core/lib/tsi/ssl_transport_security.c",
     "src/core/lib/tsi/transport_security.c",
-    "third_party/nanopb/pb_common.c",
-    "third_party/nanopb/pb_decode.c",
-    "third_party/nanopb/pb_encode.c",
   ],
   hdrs = [
     "include/grpc/byte_buffer.h",
@@ -1676,10 +1673,6 @@
     "src/core/lib/tsi/ssl_types.h",
     "src/core/lib/tsi/transport_security.h",
     "src/core/lib/tsi/transport_security_interface.h",
-    "third_party/nanopb/pb.h",
-    "third_party/nanopb/pb_common.h",
-    "third_party/nanopb/pb_decode.h",
-    "third_party/nanopb/pb_encode.h",
   ],
   includes = [
     "include",
@@ -1688,6 +1681,7 @@
   deps = [
     ":gpr_objc",
     "//external:libssl_objc",
+    "//external:nanopb",
   ],
   sdk_dylibs = ["libz"],
 )