; Re-apply accidentally reverted commit

This re-applies:

  2024-03-17 "Fix vc-dir when "remote" Git branch is local"
  (21828f28)

reverted as part of the unrelated:

  2024-03-17 "Update modus-themes to their 4.4.0 version"
  (67b0c1c0)

The original commit message follows:

Fix vc-dir when "remote" Git branch is local

While in there, add that "tracking" branch to the vc-dir
buffer.  For bug#68183.

* lisp/vc/vc-git.el (vc-git-dir-extra-headers): Reduce
boilerplate with new function 'vc-git--out-ok'; stop calling
vc-git-repository-url when REMOTE is "." to avoid throwing an
error; display tracking branch; prefer "none (<details...>)" to
"not (<details...>)" since that reads more grammatically
correct.
(vc-git--out-ok): Add documentation.
(vc-git--out-str): New function to easily get the output from a
Git command.
* test/lisp/vc/vc-git-tests.el (vc-git-test--with-repo)
(vc-git-test--run): New helpers, defined to steer clear of
vc-git-- internal functions.
(vc-git-test-dir-track-local-branch): Check that vc-dir does
not crash.
1 job for master in 2 minutes and 20 seconds (queued for 2 seconds)
Status Job ID Name Coverage
  Normal
failed #82702
test-lisp-vc-inotify

00:02:20

 
Name Stage Failure
failed
test-lisp-vc-inotify Normal
Uploading artifacts for failed job
Uploading artifacts...
test-lisp-vc-inotify-8d4a8b7d/: found 15 matching artifact files and directories

Uploading artifacts as "archive" to coordinator... 201 Created
id=82702 responseStatus=201 Created token=b7y1MGNp
Uploading artifacts...
test-lisp-vc-inotify-8d4a8b7d/junit-test-report.xml: found 1 matching artifact files and directories

Uploading artifacts as "junit" to coordinator... 201 Created
id=82702 responseStatus=201 Created token=b7y1MGNp
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 2