Previously, console messages associated with a test were shown in the
Test Results tree view, and clicking them opened a simple text editor
stripped of ANSI codes

This was not a great experience, and caused some problems.
Instead, we now have a "Show Output" message for each test with output
in a tree view, which opens terminal output from _just_ that test case.

> Input: would selecting the test's range from the entire output be a better experience?
Like the full results terminal, this will stream in data as the test runs.
Additionally, clicking inline test messages now opens a real terminal
with that message selected.

cc @Tyriar regarding the new method in IXtermTerminal
Closes#187104 (supplanting the pain point with better ux)
Found a couple quirks with the DiffEditorWidget2 that I didn't catch
in the initial `@deprecated`-triggered migration in debt week
(#189992, #189975), please bear in mind during testing
that these are separate issues.
In some cases in VSCode + fish you can run a command like:
```
echo 'hi
-- hi'
```
It's perfectly legitimate and will run in a normal terminal just fine.
However VSCode's shell extensions will raise an error:
```
string join: -- hi': unknown option
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/contrib/terminal/browser/media/fish_xdg_data/fish/vendor_conf.d/shellIntegration.fish (line 1):
string join ";" $argv
^
in command substitution
called on line 65 of file /Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/contrib/terminal/browser/media/fish_xdg_data/fish/vendor_conf.d/shellIntegration.fish
in function '__vsc_esc' with arguments 'E echo\ \'hi "" --\ hi\''
called on line 72 of file /Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/contrib/terminal/browser/media/fish_xdg_data/fish/vendor_conf.d/shellIntegration.fish
in function '__vsc_cmd_executed' with arguments 'echo\ \'hi\n\n--\ hi\''
in event handler: handler for generic event 'fish_preexec'
(Type 'help string' for related documentation)
```
The problem is `string` interprets the `--hi` as a switch. By adding `--` we can negate that behavior and let `--hi` be treated as a positional argument.
See the [string documentation][s]
> Arguments beginning with - are normally interpreted as switches; -- causes the following arguments not to be treated as switches even if they begin with -. Switches and required arguments are recognized only on the command line.
[s]: https://fishshell.com/docs/current/cmds/string.html
* forwarding: add built-in tunnel forwarding extension
- Support public/private ports, which accounts for most of the work in
the CLI. Previously ports were only privat.
- Make the extension built-in. Ported from the remote-containers
extension with some tweaks for privacy and durability.
- This also removes the opt-in flag, by not reimplementing it 😛
Fixes https://github.com/microsoft/vscode/issues/189677
Fixes https://github.com/microsoft/vscode/issues/189678
* fixup! comments
---------
Co-authored-by: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>