This is replaces dqlite with etcd. The each same UX of dqlite is followed so there is no change to the CLI args for this.
In rke2 everything is a static pod so this causes a chicken and egg situation in which we need the kubelet running before the kube-apiserver can be launched. By starting the apiserver in the background this allows us to do this odd bootstrapping.
This moves all the calls to cobra root commands to one package so that we can change the behavior of running components as embedded or external.