SSA pending changes from SVN

1. Set flag for the last identifier list node of an SSA'd factor/term
2. Reset the SSA pointer list when traversal of the flagged identifier
list is complete
3. Allow within SSA update if its a downstream operation
Emit array dimensions for every identifier node
SSA array indexing - Part1

1. This involves SSA for indexed array calls - currenlty single
dimension.
2. To fix for array indexing in identifier lists and multiple dimensions
Update for ProtoAST

Fix some problems with property and method call nodes.
Merging Victor's changes to Library Import using the new Mirror classes.These are currently flagged off as they have yet to be tested. We will be using these Mirror classes consistently from here on and will fix defects along the way
Merge remote-tracking branch 'upstream/master'
Merge conflict
Merge pull request #6 from junmendoza/master

SSA changes and conflict merge
Merge pull request #5 from aparajitp/master

Merging Victor's changes to Library Import using the new Mirror classes....
Merge pull request #4 from truongphuoc/master

Update for ProtoAST
Apply SSA transforms to multi-dimension +identifierlist arrays

1.SSA transform multidimensional array indexing
2.SSA transform multidimensional identifier list array indexing
3. Test cases for simple SSA transforms
Added SSA testcases to ProtoTest project
Merge pull request #8 from junmendoza/master

Apply SSA transforms to multi-dimensional and identifier list arrays
Fix multi-dim array indexing dependencies

1. Fix SSA code emitter for multi-dimensional identlist
2. Fix SSA pointer traverse to generate the correct nested
identifierlist
3. Multi dim array update testcase
Fix a codegen regression from a localization fix.
Merge pull request #9 from junmendoza/master

Fix multi-dim array indexing dependencies
Array indexing regression fix

1. Push the array indices of an identifier into the first SSA'd factor
2. Additional non-cyclic testcases
Handle transformed static calls to reflect the original call

This technique is similar to LLVM transforms for static function calls
Handle operator ! (not) in codegenDS
Fix identifierlist traversal to handle functioncalls