fietsje: implement .replace, add Cilium dependencies.

The new .replace() can be used to mirror 'replace' stanzas in go.mod,
and that's what it's being used for in Cilium, as it ships a handful of
forked libraries that we have to pull in.

The Cilium targets are currently unused, but the ones confirmed to build
are:

 - @com_github_cilium_cilium//cilium: cilium API client
 - @com_github_cilium_cilium//daemon:daemon: cilium daemon/agent
 - @com_github_cilium_cilium//operator: cilium operator

These currently built as dynamic libraries - turning them into
static/pure builds will come in a later build.

Test Plan: how do we test this? :)

X-Origin-Diff: phab/D542
GitOrigin-RevId: b38c7c1d0be8b0b88ea8f6992c9c5557189399cc
diff --git a/build/fietsje/main.go b/build/fietsje/main.go
index a5f8e46..373080a 100644
--- a/build/fietsje/main.go
+++ b/build/fietsje/main.go
@@ -65,6 +65,7 @@
 	depsKubernetes(p)
 	depsContainerd(p)
 	depsGVisor(p)
+	depsCilium(p)
 	depsSQLBoiler(p)
 
 	// our own deps, common
@@ -92,7 +93,7 @@
 	p.collect("github.com/kevinburke/go-bindata", "v3.16.0")
 
 	// used by deltagen
-	p.collect("github.com/lyft/protoc-gen-star", "v0.4.14")
+	p.collectOverride("github.com/lyft/protoc-gen-star", "v0.4.14")
 
 	// First generate the repositories starlark rule into memory. This is because rendering will lock all unlocked
 	// dependencies, which might take a while. If a use were to interrupt it now, they would end up with an incomplete