simplify the forall shadowing sema checking code
refactor Forall/ForallMesh/ForallArray Stmt
A bunch of changes to ForAllStmts

1) First cut Codegen for Forall array case.
2) More refactor/additions to AST ForAllStmts classes
3) Add DeclStmts for Implicit forall loop varaibles to the ForAllStmts for the mesh and array cases (renderall has not been changed yet...)