Add E2E tests for basic functionality and port launching to Go

This adds a new E2E test suite replacing the old log-parsing
based one. It also moves launching and controlling Smalltown VMs into
a Go package and command and exposes the '//:launch' alias.
The new E2E test suite covers basic conditions (IP assigned, Data
available) and Kubernetes Node, Deployment and StatefulSet tests.

Test Plan: This consists of E2E tests

X-Origin-Diff: phab/D544
GitOrigin-RevId: 7c624c667c849068bafa544a3a6c635d6d406e1c
diff --git a/core/cmd/launch/BUILD.bazel b/core/cmd/launch/BUILD.bazel
new file mode 100644
index 0000000..59d8ecc
--- /dev/null
+++ b/core/cmd/launch/BUILD.bazel
@@ -0,0 +1,20 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
+
+go_library(
+    name = "go_default_library",
+    srcs = ["main.go"],
+    importpath = "git.monogon.dev/source/nexantic.git/core/cmd/launch",
+    visibility = ["//visibility:private"],
+    deps = ["//core/internal/launch:go_default_library"],
+)
+
+go_binary(
+    name = "launch",
+    data = [
+        "//core:image",
+        "//core:swtpm_data",
+        "//third_party/edk2:firmware",
+    ],
+    embed = [":go_default_library"],
+    visibility = ["//visibility:public"],
+)