(programAnalysisTests) Input file was not valid C source code

Declarations cannot appear inside a 'for' loop initializer in C. The
error from ROSE's frontend() is a little confusing.
(Call Graph) Avoid failed assertion when analyzing class template
(Virtual Function Analysis) Templates should not be analyzed

Doing CFG-based analysis on templates doesn't make much sense; we
should be analyzing only instantiated templates.  Therefore, avoid
doing analysis on templates.
(Call Graph) Rewrote and simplified CallGraphBuilder::buildCallGraph()

Simplified the convoluted logic, reducing the function from 143 lines
to just 53 lines (it now easily fits on one screen).  This also fixed
some bugs related to finding function templates and member function
templates--which make no sense appearing in a call graph.
(programAnalysisTests) Updated test answers to match new AST

These changes seem to all be due to ways that the edg4-based AST
differs from the edg3 AST:

* edg3 adds SgReturnStmt to the ends of some functions that
  don't have an explicit "return".

* edg4 "switch" statements have a slightly different AST and
  the unparser doesn't enclose each case body in an unecessary
  compound statement.

* edg4 doesn't have as many unecessary parentheses in the
  unparsed output.

* testfile3.c was changed in a previous commit to make it
  valid C++, which changes the AST.
(SgVariableDeclaration) C'tor didn't set Sg_File_Info for SgInitializedName member

The 4-argument version of SgVariableDeclaration::initializeData() ignored it's
Sg_File_Info argument and passed a null pointer instead to the 2-argument version.
The 2-argument version therefore didn't create a Sg_File_Info object for the
SgInitializedName member of the SgVariableDeclaration.  The end result is that
AstTests::runAllTests() fails an assert at a much later time.
(Program Transformation Tests) Updated answers for new unparse format

These answers were out of date only because the edg4x version of ROSE unparses
C++ code a little differently (fewer redundant parentheses).
(Program Transformation Tests) Cleaned up the makefile

Makefile now uses the ROSE Test Harness so, among many other things,
we can figure out which output came from which test.
(Partial Redundancy Elimination) Fixed an unhandled case for SgNullExpression
(Partial Redundancy Elimination) Avoid segmentation fault for null deref
(Partial Redundancy Elimination) Cleaned up a function while debugging
(Makefile) EDG should not be in the list of files to distribute

(cherry picked from commit afda697ac255fd8935d359e4373d69cb929dd44c from edg3x branch)
(Binary Simulator) Added additional test specimens to the makefile
(Binary Clone Detection) Distribute all extra files

Andreas is checking whether any of these are
extraneous and should be removed from the source tree.
(Policies) Tightened the number of allowed unused source files
(Program Transformation Tests) Rewrote makefile to use the ROSE Test Harness
Merge remote branch 'origin/master' into HEAD
(Empty) Retriggering Jenkins

200-rose-make_check-CompileTests-mergeAST_tests failed
for EDG_4_4.4.2.4, amd64-linux

Failed with a sementation fault, but since this makefile doesn't
use the ROSE Test Harness, it's impossible to tell which test
actually failed, or to distinguish its output from all the other
output.
(projects/interpreter) initial investigation
(projects) turned off some failing tests based on Dan's suggestions