This replaces the mkinitfs script with a re-write (in Go). The re-written mkinitfs will atomically replace the initfs in /boot, check for free space before doing so, and try to do whatever it can to not leave the system in an unbootable state by botching the initfs creation/installation.
pmb:cross-native with go cross compiling doesn't exactly, it makes the correct binary, but on Alpine go uses -buildmode=pie which creates a dynamic thing, and the interpreter is wrong (e.g. it it set to use the host arch's interpreter, like /lib/ld-musl-x86_64 even though GOARCH=arm64)
Fixes #1019 (closed)
Also fixes #660 (closed) by dropping support for having multiple kernel "flavors"