Issue 11706 - Add a TypedefType trait to extract the underlying type of a std.typecons.Typedef

https://issues.dlang.org/show_bug.cgi?id=11706

Thanks to some compiler improvements this can be entirely implemented outside the `Typedef` definition.
if this has triggered compile bug it should be moved to dmd test suite and removed from here