terminology cleanup

Complete -> Finish for symmetry with Start, rename Succeededbuild to
ExitedBuild to be neutral, since outputs can soon optionally run on
failure

[#77921140]
push decision to perform outputs into builder

where it will later selectively perform 'on failure' outputs.

the scheduler decides to report as 'succeeded' or 'failed'; however the
outputs failing takes precedence in either case, reporting as 'errored'
if it fails.

this is consistent with the previous behavior for 'succeeded' builds
whose outputs failed; the same will be true for 'failed' builds with 'on
failure' outputs that fail.

[#77921140]