BuildKit as the default engine builder in 23.0

The default has been BuildKit in Docker Desktop for a while and 23.0 makes it the engine default, which quietly changes what a plain build does.

what changes without you asking:

  build output       the new progress format, and no
                     intermediate image ids
  layer caching      per-instruction, and parallel across
                     independent stages
  unused stages      skipped entirely
  secrets            --mount=type=secret works by default

and the one that caught us:
  a stage nothing depended on stopped running,
  and it had been the one running the tests.

The skipped-stage behaviour is correct and is the difference people notice, usually by discovering a check has not run for a fortnight. DOCKER_BUILDKIT=0 still restores the old builder in this version, which is the escape hatch for a build script that parses the output — and parsing build output is the thing to stop doing rather than the thing to preserve.