Fix 9819: Allow access to named tuple's names.

Adds a `Names` alias to `std.typecons.Tuple` to return the user-supplied names.  The actual fields are in an expression tuple, so the user-supplied names are simply aliases, which previous to this PR, were not accessible.

Possible user-code breakage if they name a field "Names", e.g.:
```d
alias S = Tuple!(string[], "Names");
```

Fixes #9819
tabs