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.

https://issues.dlang.org/show_bug.cgi?id=9819

Fix Issue 9819
Nitpick: For the second sentence, how about: "Unnamed fields have empty names" or something similar?
Otherwise LGTM.