Add a --progress flag to `wslc build` that controls how build output is
rendered, accepting "auto", "tty", "plain", or "quiet". The value is
converted to a typed ProgressMode at parse time rather than merely
validated, so invalid input is rejected up front with a localized error
listing the accepted values. "auto" is the default and resolves to "tty"
when progress output is an interactive VT console and "plain" otherwise,
matching the previous behavior. "tty" renders the scrolling status window
in place, "plain" emits each line sequentially without cursor movement or
redraws so the output stays readable when redirected to a file or CI log,
and "quiet" suppresses progress entirely while still replaying the failing
step's log and the error on failure so diagnosability is preserved. Adds
parser, argument, callback, and end-to-end coverage for each mode.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>