Remove the 'parent build operation' property from `ProgressStartEvent` as this can be inferred from the other properties. Reduce the amount of mapping required to perform console output grouping and to simplify the output event stream before it is seen by any consumers.

This accidentally worked < 4.7. In 4.7 the notification bridge became cross session scoped in order to support bridging the logging output to progress notifications. This broke what was accidentally working, by retaining the notification listener across builds of a continuous build.

This change restores the accidental support by explicitly clearing the bridge state after each build of a continuous build, allowing a new listener on the subsequent build.

Previously, the output event listener that forward build op notifications was downstream of the output event renderer, which has its own lock. It was possible to deadlock between this lock and the global listener manager lock.

Now, the build op notification forwarder is a peer of the renderer, so is not notified under its lock.

For an upcoming change to emit console logging as build operation progress events, we need to associate all progress logging with the build operation. This pulled a thread on some long overdue cleanup.