(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