Complete refactor of the funkload export.

Use the full observer API, listening to push events to record funkload-style data points. This gives us more information than if we only relied on the data in `test_results`.

With the current output a workable export is produced that can be transformed into a report. Tested locally only, without a broker.