Tuple<T> and a couple of functions on it are now working according to
the target spec. As desired, no instantiations of a template type
are made until some function that takes an instantiation is called.
This adds the target initial definition of a homogeneous Tuple<T>
type, and just enough processing that the type can be defined and
non-template methods that deal with the generic base type Tuple can
be called. Still has no actual template instantiation.