Introduce While/For loop as a thin veneer over BlockStmt
Convert While/For build functions to class methods on the new classes
Convert remaining uses of ForLoop from BlockStmt to ForLoop veneer in build.cpp
Update a function name to suppress a GCC warning
Merge pull request #670 from noakesmichael/loopWrap-1

While/For loop veneer

This is the first step in introducing new AST nodes for WhileDo, DoWhile, For, and CFor loops.
The first implementation is a very thin wrapping over BlockStmt.  There is no new state only
new constructors and a few simple methods.  This is the anchor point for adding a reasonably
robust interface layer to these AST nodes across the code base.  Once that is done it will be
practical to refine the internal representation.

There is little "new code" here.  Most code has been migrated from other places e.g.
copying simple code from BlockStmt and from build.cpp

Elliot has performed a sanity check on this code but did not perform a
careful code review given that is largely refactoring of existing code.

Compiled: Std clang on Mac, Std gcc on Liinux, LLVM gcc on Linux
Testing: Full regression suite  std+verify, llvm+verify