Default behavior of "swift format"

Since swift-format predates even the existence of SwiftPM command plugins, it's worth asking if the better intention here is to have it be a top-level "swift command" (aka in the set of "swift run, repl, build, test, package), or should it be treated as a binary that's exposed in the toolchain, but invoked as a package plugin?

My preference would be seeing it exposed as a package manager style command, refining the swift package _format to a full operation, and as an initial flow doing any linting/reporting on mismatches rather than changing any content as a default. I prefer having the scope of what's going to be effected limited within the context of an existing package. This comes from more-than-one mistake invoking something that's purely CLI/directory recursive from the wrong location and stomping on formatting over a MUCH broader area than I intended.

If it works better being a package command plugin, and leveraging that context, then I'd suggest that the binary might be best renamed as well, moving away from swift-format which is set up with the existing tooling to expose top level commands.

This also begs the question of having system-provided built-in SwiftPM command plugins, which I think is desperately needed as well. Like docc-plugin, I think format should be one of those included with the toolchain.