LLVM fixes for C for loop, C for loop changes

This is NOT ready to be merged and needs more testing. I'm just putting it here so I can discuss the early versions with @ronawho ... I'm running into problems because C for loop induction variables are read in some cases after the loop body.
Note that this is currently correct since the test relational operation is always <=, but will soon be allowed to be any relational operation. There will be a helper function isRelationalOperator() that I'll add, I just need to remember to add it here too.