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`.
**WIP**, see [test sketches](https://gist.github.com/eddyb/fa60028cea6787437d8f).

cc @nikomatsakis