In rtuple, renamed the interface "getitem()" to "getitem_internal()" to
make it clear that it returns a value of the internal type-erased repr.
Added a getitem() which returns the externally-expected variable.
The reason is that using the internal repr is a bit dangerous now,
because the root 'object' repr doesn't really handle the objects that
can be tagged pointers. This caused a crash in string formatting (see
test).

(nik, pedronis consulting)
introduce a new low-level type Tuple in ootypesystem. it's to be used for
structure-like things such as tuples and iterators. this will resolve the
recursion and ForwardReference problems that we currently have. these are
mostly caused by the fact that Instances are compared by identity, the new
Tuple type compares by structure. rtyping doesn't yet use the new type
anywhere.

split rtuple into a version for the lltypesystem and the ootypesystem. make
some tuple tests pass on ootypes. the ootype version is for now conceptually
analoguous to the lltype one. this is a slightly invasive change, but as far
as i can tell it doesn't break any tests or translation.