[zircon][gn] Use assert_no_deps

Using this for core-tests is a nice demonstration, and turned up some
templates that need to plumb it through.

Bug: BLD-325
Test: gn gen && ninja
Change-Id: I9e181d33d017b7b34fb0c7f2a38a6a35c748572b
diff --git a/zircon/BUILD.gn b/zircon/BUILD.gn
index 60cf43e..5dd798b 100644
--- a/zircon/BUILD.gn
+++ b/zircon/BUILD.gn
@@ -135,8 +135,8 @@
       testonly = true
       data_keys = [ "legacy_pkg_manifest" ]
       deps = [
-        ":legacy-$cpu",
         ":all-ulib-$cpu",
+        ":legacy-$cpu",
         ":tools",
 
         # Separately listed because they're reached by dependencies only on x64.
@@ -223,6 +223,10 @@
       "kernel",
       "system/utest:core-tests",
     ]
+    assert_no_deps = [
+      "system/core/*",
+      "system/dev/*",
+    ]
   }
 
   environment_redirect("legacy-deps-$cpu") {
diff --git a/zircon/public/gn/host_tool_action.gni b/zircon/public/gn/host_tool_action.gni
index ad50c08f..fc76720 100644
--- a/zircon/public/gn/host_tool_action.gni
+++ b/zircon/public/gn/host_tool_action.gni
@@ -19,6 +19,7 @@
   environment_redirect(target_name) {
     forward_variables_from(invoker,
                            [
+                             "assert_no_deps",
                              "testonly",
                              "visibility",
                            ])
@@ -69,6 +70,7 @@
   target(invoker._target_type, action_target) {
     forward_variables_from(invoker,
                            [
+                             "assert_no_deps",
                              "data_deps",
                              "deps",
                              "inputs",
diff --git a/zircon/public/gn/toolchain/environment_redirect.gni b/zircon/public/gn/toolchain/environment_redirect.gni
index 800f5b4..5843f2e 100644
--- a/zircon/public/gn/toolchain/environment_redirect.gni
+++ b/zircon/public/gn/toolchain/environment_redirect.gni
@@ -115,6 +115,7 @@
   group(target_name) {
     forward_variables_from(invoker,
                            [
+                             "assert_no_deps",
                              "testonly",
                              "visibility",
                            ])
diff --git a/zircon/public/gn/zbi.gni b/zircon/public/gn/zbi.gni
index 662ec67..fd89027 100644
--- a/zircon/public/gn/zbi.gni
+++ b/zircon/public/gn/zbi.gni
@@ -300,6 +300,7 @@
   host_tool_action(zbi_target) {
     forward_variables_from(invoker,
                            [
+                             "assert_no_deps",
                              "data_deps",
                              "visibility",
                              "testonly",