Instead of creating, starting and stopping Etcd from within APIServer,
the APIServer now only gets the coordinates of an Etcd handed in.
The setup and wiring of both Etcd and APIServer is implemented in the
ControlPlane.
- Mostly documenting properties of APIServer (for the most part Etcd has
the same properties).
- Adding executable examples, some off which run as additional test
cases.
Right now the ControlPlane is actually just a thin layer around
APIServer, this is the oly process we care for right now. Now that we
only have one process to start, we can remove the parallel starting
logic.
In case we bring in more processes again this commit can just be reverted.
We can move all of the logic out of the constructors and psuh them into
`ensureInitialized()` of both APIServer and Etcd.
By doing so, the constructors are actually not needed anymore.
We however kept the constructor for the ControlPlane for convinience.