added IndexOpExpr codegen

The C backend now properly generates code for IndexOpExpr. As of now, the
indexee is required to be a homogenous tuple, i.e. a tuple with the same type
for all its fields. This limitation exists due to the fact that the tuple is
cast to a C array in order to allow indexed access. This will change as soon
as *UnionType* can be compiled.

This closes #11 with a preliminary implementation. A more general solution is
required at a later stage, when more type features have been implemented.