Changed the wiring of the listeners that forward events back to the tapi client so that they received events from _all_ builds, not just the root build. This in particular means that progress events are received from `buildSrc` builds, composite builds, and builds started using the `GradleBuild` task. Cleaned up `BuildScopeServices` so that it is no longer responsible for cleaning up its parent.
Ensure that task and project configuration failures are attached to TAPI progress events. Reworked `BuildOperationExecutor` to allow the action for an operation to mark the operation as failed without throwing an exception.