intermediate changes commited so that I can revert to older version and see if I see AST consistency failures
Made changes to sage builder and ROSETTA expression to correctly support Typeid
Overhauled extractFunctionArgumentsNormalization transformation, moreover the ROSE support to make extractFunctionArgumentsNormalization possible. Changes include changes to EDG and unparser and expression to correctly handle typeid op, changes to get_type on SgFunctionCallExp to correctly return the return type, fixes to SgAddressOf to strip reference type, addition of routine to SageInterface for creating temporary variable with assignemnt, addition of a lot of tests to extractFunctionArgumentsNormalization test, changes to extractFunctionArgumentsNormalization to gracefully handle cases where the return type can't be known, changes to extractFunctionArgumentsNormalization to ensure the newly created temp has the correct parent. All these changes put us in a position where we can lift any expression and create a temp for it. get_type() is more reliable now. However, extractFunctionArgumentsNormalization itself is still broken since it's transformations are not semantic preserving, e.g., lifting arguments from condition of a while/do-while/for. There is also issue in lifting expressions from for loop increment and from ternary operator. A 3rd phase of rework on extractFunctionArgumentsNormalization will address these issues
Merge branch 'chabbi1/normalization-rc' of rosecompiler1.llnl.gov:rose/edg4x/rose into chabbi1/normalization-rc

Conflicts:
	src/frontend/CxxFrontend/EDG
	tests/CompileTests/Cxx_tests/Makefile.am
(Program Transformation) Make normalization transformation SAFE

Changing functioncall extraction normalization to be safe. Now, we don't lift
arguments from function calls that are in for loop condition/increment,
while/do-while loop condition and true/false arms of conditional expressions.
A later fix can use comma operators and enable lifting arguments in these cases,
that would require checking teh availability of default constructor,
non-overloaded assignment and address of operators.
Merge branch 'master' of rosecompiler1.llnl.gov:rose/edg4x/rose into chabbi1/normalization-rc

Fixed one merge conflit in tests/input_codes/cxx/Makefile_variables.

Conflicts:
	tests/input_codes/cxx/Makefile_variables
(program transformation): Added APIs to query the status of normalization and made it more safe.

Changed extractFunctionArgumentsNormalization by adding more APIs to query the status of transformation.
IsNormalized tell if the subtree is in normalized form.
IsNormalizable tells if the given tree can be fully normalized by our pass.

Identified a safety issue in short circuit expressions. Now we don't normalize function calls that are on the RHS of any
short circuit expression.

Also, added a flag to NormalizeTree(SgNode* tree, bool doUnsafeNormalization = false). If doUnsafeNormalization is true, we lift
all function calls even if they are unsafe.
Merge branch 'master' of rosecompiler1.llnl.gov:rose/edg4x/rose
Merge branch 'master' into chabbi1/normalization-rc
(Fix missed out EDG commit): Adding the EDG changes from master with this check in.

The previous check in was done without merging with the master and hence the merge failed for Jenkins.
This checkin should fix that in theory.
(Fixed build critical build failure): Hot patch for critical build failure that was happening due to stale version of EDG taken from master.
The normalization checkin required the most upto date EDG that was present in normalization-rc branch where as master branch was lagging behind.
Merge branch 'master' of rosecompiler1.llnl.gov:rose/edg4x/rose into chabbi1/normalization-rc
(Normalization fix build failure): Fixed a build failure in projects caused by my recent changes to ExtractFunctionArguments.
Added new SgAsm IR nodes to support binary data structure recognition, added EDG support for source position info on children in SgAggregateInitializer IR nodes, fixed use of #include files in SgAggregateInitializers, fixed placement of gnu attributes in variable declarations, fixed use of -std=c99 to support __asm__, and fixed specification of volatile keyword in asm functions.
Merge remote-tracking branch 'origin/master' into dq-edg4x-rc
Merged with master cleanly, changed ASM IR nodes names SgAsmSynthesizedDeclaration, SgAsmSynthesizedDataStructureDeclaration, and SgAsmSynthesizedFieldDeclaration, fixed project/fuse code to compile cleanly (and initialized uninitialized pointer variable to NULL), fixed IR nodes names in projects/BinaryDataStructureRecognition, and removed javaport from running when new EDG/ROSE internal debugging mode is active.
Added back the CodeThorn and taintcheck directories.
Added new projects: BinaryDataStructureRecognition, ConstructNameSimilarityAnalysis, EditDistanceMetric.
Added new projects: BinaryDataStructureRecognition, ConstructNameSimilarityAnalysis, EditDistanceMetric.
Fixed default for C mode to use -std=gnu99 instead of -std=c99, added -std-c99 option support and decoupled it from -rose:C99 option.