Added FieldNameTuple to std.traits

`stringof`, and thus `NameOf`, doesn't work like this in general, it's a hack that only works with the result of `tupleof`. It used to be practical in D1 when we didn't have traits, but now it's an ugly anomaly.

`stringof` could be useful as a trait so it could be passed to `staticMap` and such, but then it should really be named `StringOf`.