mtest: introduce TestLogger
mtest: introduce TestLogger

The TestLogger class lets us move the code for all those log files
out of TestHarness.  The interface is based on JunitBuilder, which
is converted already in this commit.  Over the next commits, we
will also convert JSON, text and console output.

The main difference with JunitBuilder is that the completion method is
asynchronous.  This can be useful if the logger needs to clean up after
itself and wait for asyncio tasks.

Signed-off-by: Paolo Bonzini <69d3ebcf5ee4e7f05a50dc23cd96655b730804b4@redhat.com>

mesonbuild/meson,mesonbuild/meson,pexip/meson,pexip/meson,mesonbuild/meson,jpakkane/meson,mesonbuild/meson,jpakkane/meson,mesonbuild/meson,mesonbuild/meson,QuLogic/meson,QuLogic/meson,QuLogic/meson,mesonbuild/meson,jpakkane/meson,jpakkane/meson,jpakkane/meson,pexip/meson,QuLogic/meson,QuLogic/meson,jpakkane/meson,jpakkane/meson,pexip/meson,pexip/meson,pexip/meson,pexip/meson,mesonbuild/meson,jpakkane/meson,pexip/meson,QuLogic/meson,mesonbuild/meson,QuLogic/meson,QuLogic/meson,QuLogic/meson,pexip/meson,jpakkane/meson,pexip/meson,mesonbuild/meson