Introduce initBlock and incrBlock alongside testBlock in expandForLoop
Replace use of firstCond with consistent use of testBlock
Introduce CForLoop::buildWithBodyFrom(ForLoop* forLoop) and use it to replace certain uses of a ForLoop with a CForLoop
Update order of execopts for cfd-mini-c so it works on mac w/ clang.

I don't understand why this is required, but it works.
Merge pull request #880 from thomasvandoren/fix-cfd-mini-c-on-darwin

Update order of execopts for cfd-mini-c so it works on mac w/ clang.

I don't understand why this is required, but it works. I confirmed that it still passes on
linux64, too.

r: @benharsh
Merge pull request #881 from noakesmichael/iter-2

Update the code for converting a ForLoop to a CForLoop

LowerIterators includes a control path that converts the BlockStmt that represents a ForLoop in to a
BlockStmt that represents a CForLoop.  This is done by mutating the underlying blockInfo CallExpr.

This merge reorganizes the code for constructing the CForLoop init/test/incr clauses and adds a
static factory method on CForLoop that accepts a ForLoop.  The factory copies the body of the ForLoop
but not any other state.

Compiled: STD clang/darwin, STD gcc/linux64, LLVM gcc/linux64
Tested: paratest
Review: None