Allow expanding a tuple type `T` in a list of types with `..T`.

First part in implementing #10124, `..T` with `T` a tuple type, with only one structural change to `middle::ty`.

cc @nikomatsakis @pnkfelix @pcwalton