core/internal/kubernetes: refactor reconciler, move to subpackage

This makes the reconciler a bit more generic, and thus allows for
writing some basic tests (of the reconciler logic and of the declared
resources).

We also start the cleanup of //core/internal/kubernetes by moving the
reconciler into a separate subpackage. This creates two sketchy
cross-package references that we'll need to fix in the future once we
continue the cleanup and modularization of the Kubernetes package.

Test Plan: the reconciler is now tested with unit tests!

X-Origin-Diff: phab/D552
GitOrigin-RevId: b43643065c8174402922c62e80cd9c87fdce2f13
diff --git a/core/internal/kubernetes/provisioner.go b/core/internal/kubernetes/provisioner.go
index 9a3d936..c227fdf 100644
--- a/core/internal/kubernetes/provisioner.go
+++ b/core/internal/kubernetes/provisioner.go
@@ -47,6 +47,7 @@
 	"k8s.io/client-go/util/workqueue"
 )
 
+// ONCHANGE(//core/internal/kubernetes/reconciler:resources_csi.go): needs to match csiProvisionerName declared.
 const csiProvisionerName = "com.nexantic.smalltown.vfs"
 
 // csiProvisioner is responsible for the provisioning and deprovisioning of CSI-based container volumes. It runs on all