Finally added tuples. Fixes #48.

Tuple is implemented the same way as lists are in the vm (lists just force a
single type but tuples allow anything). Defaulting to any also works for
tuples. The garbage collector accounts for tuples too, and can build tuples.

New syntax: <[ begins a tuple and ]> closes it. Tuples must be subscripted by
an integer literal, and the emitter can determine the type of a subscript.

Finally, I fixed a bug where subscripting a list would yield the wrong type
at emit time.