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.
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
A significant set of overhaul work:

  (1) Rework of mesh and mesh field decls, types, etc.  Many
      scout-centric types are now stand alone vs. inherited and thus
      have isolated implementations.

  (2) Start of parsing code now refactor to address specific types
      (e.g. parse forall mesh, parse renderall, parse forall-array are
      now designed to be separted vs. itegrated into one routine).

  (3) New error cases handled, improved error messages (likely a lot
      more work here).

  (4) Start of refactoring parts of the runtime and standard library
      to allow a better mix of Scout and C/C++ source.  Real routines
      in standard library vs. header file only implementations.

NOTES: renderall and forall-array functionality is currently commented
out to reduce complexity in the refactoring. A lot of clean up is
likely needed to further separate scout pieces from the main clang
base code.  We also need to re-sync up with the main clang repository
before we drift too far from the base.