This patches are patches from some of experiment that went wrong:

* against r528: structisvalue.diff, this patch makes structures to be used with value instead of pointers, the goal was to used it to return struct allocated on stack instead of memory, but currently llvm doesn't allow to return struct that contains other structs or pointers (see testReturnArray.ll and testReturnStructStruct.ll)
