(Def-use tests) Fixed tests that failed due to differences in AST

The intent of these tests is to check that def-use analysis is working,
not to test whether different versions of EDG generate the same AST.
Therefore, I slightly modified some of the specimens to avoid areas
where EDG versions 3 and 4 generate different ASTs. Specifically:

* "for" "do" and "while" statements that have empty bodies result
  in a SgNullStatement in EDG3 but a SgExprStatement with a
  SgNullExpr in EDG4.

* "for" statements that have an empty initializer generate an
  AST with a null pointer for the initializer node.

* differences in the AST when the "for" statement has an
  empty condition and/or increment.
Fixes the use of macro definitions in OpenMP clauses

It only works when the macro es defined in the same file as it is used.
Enhance legibility of OpenMP grammar

This commits standardize how the OpenMP grammar is written
(line breaks, colons, parenthesis, etc) So looking for a token is
now much easier.
Merge branch 'master' into royuelaalcaz1-omp_preproc_directive_bug-rc
Merge branch 'master' into royuelaalcaz1-omp_preproc_directive_bug-rc
Merge commit 'd156e22c34bf74d10e4c5f21064144de477aa204' into HEAD
(Variable Liveness) Cleaned things up in preparation for edg4x work

* Removed unused test specimens and test outputs

* Removed unused code cut-n-pasted from def-use analysis

* Wrapped lines > 132 columns

* runTest can now run a single test

* complete makefile rewrite to allow parallel testing

* turned on debugging output (see *.passed or *.failed test output)

* "make clean" is much less aggressive, removing only things that were
  actually created by the tests, not files that a developer might
  also have sitting around in that directory.
(Variable Liveness) Changed test specimens to avoid EDG3/EDG4 differences

Since the purpose of variableLivenessTests is to test the variable
liveness analysis and not necessarily the compatibility of EDG3 and
EDG4 ASTs, I've made some slight modifications to most test
specimens in order to avoid places where an EDG4-generated AST is
different than an EDG3-generated AST.
(Variable Liveness) Prune SgType* nodes out of AST

ROSE configured with EDG3 adds some SgType nodes to the AST that
probably shouldn't be there; EDG4 adds some, but fewer.  In order
to make the test work on both EDG3 and EDG4, the vector returned
by NodeQuery::querySubTree() is pruned by removing all SgType*
nodes.  The pruning occurs within the test rather than the ROSE
library (which Dan is fixing separately).
(Def-Use) Fixed a minor typo that caused a test to be skipped
Merge branch 'master' into royuelaalcaz1-omp_preproc_directive_bug-rc
Fix the use of complex expressions containing macro definitions in OpenMP clauses

We need an expression traversal to replace any identifier defined in a macro definition
and used in an OpenMP by its value
Merge commit '31dde33b9a38f284f91dd9743a26f1166b27a219' into HEAD
(Binary Semantics) Preparing to generalize x86 SHLD and SHRD instructions
(Token Stream) Rewrote makefile to use the ROSE test harness

Also simplified the test itself since it no longer needs to
output to a temporary file.
Merge commit 'a33f305e400fe93a89cba23070dea6eb1d4a12e9' into HEAD
Merge commit 'e162d52ec5c98a6f24c466888842de6be7081bcb' into HEAD
(Binary Semantics) 2-byte case of SHRD uses shift_semantics() generalization
(Token Stream) Changed tests to avoid differences between EDG3 and 4

* Renamed specimen functions from "main" to "foo" and added explicit
  return statements to avoid differences with how EDG adds implicit
  return statements to functions named "main".

* Renamed existing *.out files to *.edg3.ans" files to better
  document that these are expected answers.

* Added *.edg4.ans files to be used when ROSE is compiled against
  EDG 4.x.  The edg4x version of ROSE produces fewer extraneous
  paretheses.
(Empty) Retriggering Jenkins