Add tests for individual node loggers to config_validators

This makes it so that you can easily test that each individual node's
logs can be used to replay all of the state on that log. While we
already theoretically had logic to exercise this in the config
validator, said logic was both incorrectly written and not actually
being used by any of the config validators.

Simultaneously: While upstreaming this, start reducing the number of
explicit @repo_name that we have written out in the repository.

Change-Id: I0c7cb634b3d7bbc63503c607a5f8d91bc184d416
Signed-off-by: James Kuszmaul <james.kuszmaul@bluerivertech.com>
diff --git a/tools/build_rules/clean_dep.bzl b/tools/build_rules/clean_dep.bzl
new file mode 100644
index 0000000..7778d63
--- /dev/null
+++ b/tools/build_rules/clean_dep.bzl
@@ -0,0 +1,12 @@
+def clean_dep(target):
+    """Returns string to 'target' in @org_frc971 repository.
+
+    Use this function when referring to targets in the @org_frc971
+    repository from macros that may be called from external repositories.
+
+    This is stolen from tensorflow.bzl (https://github.com/tensorflow/tensorflow/blob/69b50ff7537c7e9bea8ad45b973f75e66a9a0fb9/tensorflow/tensorflow.bzl#L102C1-L111C30).
+    """
+
+    # A repo-relative label is resolved relative to the file in which the
+    # Label() call appears, i.e. @org_frc971.
+    return str(Label(target))