Still working to overhaul Decl, Types, etc. for meshes...
Merge branch 'overhaul' of ccs-dev-fe:scout into overhaul
Continued work on replacing tag-centric decls and types for meshes
with our own stand-alone versions.  Things should compile in this
version but the toolchain is broken -- specifically in codegen...  I'm
still digging into this but suspect we have some lurking use of tag
and record-based code in CG and that is conflicting with our new
mesh types and supporting infrastructure.
Just some new figures for the latest flyer -- I dropped this into
overhaul while I was on the road so I have version control.  When we
merge back to the devel branch we'll want to strip this out...
adding ImplicitMeshParamDecl class
fixes to align stuff: getFieldIndex vs getMeshFieldIndex and one other small fix
fixes to meshdecl
A significant set of overhauls/refeactoring and a few bug fixes (that
appear to overlap with Dean's last set of commits).

Overall this is a focus on separating scout-centric types from clang
provided types and how it relates to parsing.  As a first step this
version removes handling almost all 'forall' constructs within one
primary interfaces and instead specializes based on the statement
types.  For example, this commit has support for parsing 'forall mesh'
statements -- as such, other forall types (renderall and array-based
versions) are disabled (commented out).  These additional types need
to be reimplemented independently...

This version is still choking in the code gen (and I think some of the
code gen pieces are totally broken beyond that).  Based on the changes
made in parsing and the introduction of new (more specialized) types
it will likely be best to refactor all the codegen pieces as well.
The primary goal should be getting sequential code generation back into
shape and ignore both parallelism and GPU code gen for starters...

Language changes: note that we now use 'in' vs. 'of' in forall mesh
syntax (I have not yet updated the regression tests to account for
this change).

I worked on cleaning up some error messages and naming conventions
within the parsing code.
fix forall loopbounds in codegen
make the generation of the forall nested loops recursive so we get the 'end' blocks in the correct place
mesh layout may have width,height,depth (depending on rank) before fields, so needed to modify EmitScoutMemberExpr to account for this
some cleanup of EmitScoutMemberExpr stuff
fix forall mesh indexing
fix typo, had tag where we needed mesh
fix completeType() stuff for mesh to remove 'shadowing' warnings
cleanup and remove debug output
A substantial overhaul reworking how MeshFields are represented and
implemented; this shoudl further clean up our implementation by making it more clear
the places where clang is separated from scout (vs. being entangled)

Removed Scout vector types and replaced them with clang extensions.

Overhauled pieces of the runtime based on changes above but more work is needed.
reorder mesh so fields come first w/ mesh dimensions (width/height/depth) after
Merge branch 'overhaul' of ccs-dev-fe:scout into overhaul

Conflicts:
	llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h
	llvm/tools/clang/lib/CodeGen/CGExpr.cpp
	llvm/tools/clang/lib/CodeGen/CodeGenFunction.h
	llvm/tools/clang/lib/CodeGen/Scout/CGStmt.cpp
	llvm/tools/clang/lib/Sema/Scout/SemaStmt.cpp
Merge branch 'overhaul' of ccs-dev-fe:scout into overhaul

Conflicts:
	llvm/tools/clang/lib/CodeGen/Scout/CGExpr.cpp
	llvm/tools/clang/lib/Sema/Scout/SemaDecl.cpp