Added first implementation of type equivalence check to SageInterface

I added my type equivalence check to the SageInterface.
Tests will be added in the next step.
Replaced the string comparison for named types with a check for anonymous
types instead.
Added the expression evaluator files.
Merged a conflict after pull
Started to integrate gtest into ROSE

I started to play around with gtest to write Unit Tests for SageBuilder and
SageInterface. I integrated the whole source. It is placed into a new folder
in roseTests/sageBuilderTests/gtest. When sageBuilderTests is built the lib
gtest is build.
Autotools cost me some time.
Added a first glimpse for the buildExpression unit tests
Added first couple of tests for the SageInterface::checkTypesAreEqual function
Fixed an error in the buildExpression unit tests.
Implemented more test cases and fixed a bug. Reference types were not handleded correctly.
Improved unit tests

I replaced all the ASSERT_EQ with EXPECT_EQ, so that tests will continue to run,
although an error happened. This makes sense, because I always assert the correct
return value of a check function - so nothing can be NULL or something. These cases
should still use ASSERT_EQ.

Further I separated every EXPECT in its own test, so running the tests, one knows
immidiately which test actually failed.

I added two tests for typedef types.
Restructured the unit testing integration.

Created the new unitTesting directory in roseTests.
Moved the gtest sources to a subdirectory of that directory.
Moved the existing unit tests as subdirectories of that directory.
Adapted the config/Makefiles.
Added the testSupport header file, where convenience functions can be accumulated.
A first function was added to overcome a drawback of gtest. Here one could not
compare the result of any of the SageBuilder::buildTypeXYZ with NULL, since int and
SgXYZType* are non-comparable datatypes.
The new function uses a dynamic cast and returns bool.
Merge branch 'master' of rosecompiler1.llnl.gov:rose/edg4x/rose into gtest-integration
Separated implementation from interface (more or less) in testSupport
Removed the test target from Makefile.am since it is not useful.
Created More Unit Tests.

Started to create Unit Tests for nodes in the node hierarchy, after having problems with the Function Types.
Added a make check in UnitTests directory

I also changed the expected value in one of the test cases to expect a death of the application
due to an abort that is called (and makes sense).
Fixed and added parts of the unit tests.

The fixes were made in the ../Makefile.am, where I had misplaced targets, which led to build errors.
The subdirectories are now using the new structure of the unitTesting/testSupport facilities.
Delayed the issue, why a lot of unit tests for function types failed.

I realized, that the global type table is a global datastructure, that isn't cleaned after
each test run, so it gets polluted over time.
I wrote a test fixture, that erases every entry of that typetable - in an inefficient way
right now. However.
The source of the problem seems to be more tricky.
Added more Type Table tests, changed the Test Fixture implementation

The test fixture now calls delete_element on rose_hash_multimap, since I think this should be more efficient.
Also moved the implementation of that fixture to the cpp file.
More tests and make them pass

I started to write unit tests for the expression evaluator which I am using in my type checking.
I implemented a feature, that now, volatile and restrict types are mostly handled correctly.