(Taint Analysis) Added a taint analysis to genericDataflow

Documentation is in taintAnalysis.h along with lots of notes as
to usability and suitability for binary taint analysis.

Test cases are forthcoming.

(cherry picked from commit fbdd8a0bb3a166813573f8fe84131f2a6a8ab913)
(Taint Analysis) Added tests

To run just the taint analysis tests, go into the
tests/roseTests/programAnalysisTests/generalDataFlowAnalysisTests
and run "make -j check-taint"

(cherry picked from commit 76d0319aed434ae4367d547cad811521c87ff8e4)
(Taint Analysis) Removed a single TAB character that snuck in somehow

(cherry picked from commit 16d69c599cbb2a9deef8704b95e43fb796db203b)
(Taint Analysis) Fixed SgAddressOfOp transfer

Taking the address of a variable results in a taintedness that
has nothing at all to do with the value stored in that variable.

(cherry picked from commit 9df03735c7b797e884694f26db2b998a810d2e0e)
(Taint Analysis) Added tests to distributed files list

(cherry picked from commit b3f9b9165c426e38f1f2824185f9fe60daf90817)
(Generic Data Flow) Rewrote the makefile

* Makefile divided into independent sections rather than having
  things scattered all over the place.  To disable a category
  of testing, you now just comment out a contiguous region of the
  makefile.

* Tests use scripts/rth_run.pl (the ROSE Test Harness) in order
  to reduce the amount of noise from successful tests.  You can
  find the output for a particular test in a *.passed or *.failed
  file.

* Test cases have more accurate dependencies.  A test will re-run
  if its specimen changes, or if its *.passed file is missing, or
  if the testing executable changed, etc.

* Tests are not re-run if we already know they passed.  I.e.,
  "make check; make check" takes about the same amount of time
  as just "make check".

* The "make clean" target is more precise.  It tries to avoid
  deleting files that a developer might have created while
  debugging something.  We're still a bit over zealous on
  the DOT files because their names don't follow much of a
  pattern that can be generated inside the Makefile.

(cherry picked from commit f93df5231f90f772740a232fc1eee7c89e7cd28e)
(Taint Analysis) Cleanup of dbg_img directory during make clean

Using "rm -rf dbg_img" to clean up this directory on a per test
basis doesn't work well in parallel, so I moved it to the MOSTLYCLEAN
list.

(cherry picked from commit 8ab8202a80b6a544fb2747e3daff372caad20c5e)
(String Utilities) Added a function to remove line termination

The makeOneLine() function removes line termination and
surrounding white space from a string and replaces it with
a user-defined string.

(cherry picked from commit a8993584e23a9297c41c1b2e668075ce6c708a0d)
(Test Harness) Added a config file to run a command and look at the exit status

Nothing special about this other than it seemed to be a repeating pattern
worth abstracting.

(cherry picked from commit 2e35eef3201ba6280df510844c5378a1c84f2d75)
(Call Graph) Removed debug spew from stdout

Spew on stdout interferes with tests that compare their output
with known good output.  Debugging (if it even makes it into
the master branch) should always be to stderr.
Merge remote branch 'origin/master' into HEAD