This changes the way Quarkus ClassLoading works,
to allow for isolated class loaders.
It also unifies how Quarkus is launched, so every
different mode we support uses the same mechanism
for both curation and launch.
Tests are now run in an isolated ClassLoader, which
means that a proxy is created that runs the tests
from within the isolated ClassLoader. This currently
has a quirk where @BeforeAll methods are run twice,
which will be fixed in the next JUnit release. This
can be worked around by using @QuarkusBeforeAll.
This moves to the new Vert.x based Undertow branch. All HTTP trafic
is not routed through Vert.x, with Undertow providing a Servlet
implementation on top of this.
This allows for a common HTTP layer where all HTTP endpoints can
be configured in a unified manner, including things like security,
logging etc.