PartialEvaluator: iterative version of expandTree

--HG--
extra : transplant_source : j%EB%C4%D5%25%25%95O%1A%A3%C4%9A%ED%05%069%208%9A%A1
split PiNode into PiNode and GuardedValueNode
change to GC verification during gate: run in product, add after-GC verification
Separate replacements for Truffle compilation

--HG--
extra : amend_source : bd511b1f268af9cf1595dd566b1ba7b89ddeb0b0
extra : transplant_source : 3%EA%D9%F7%A8%D0%B5%01%A73%23%10%A4ZV%DF%98%88%13%01
Fix bug in executeCompiledMethod interpreter stub.
Disable type check hints and type checked inlining for Truffle compiler.
Fix bug in canonicalization of non-compressed object pointers.
Merge.
made the primary suite detection logic a little more robust
GraalCompilerTest throws an error if code installation fails
fixed bug in ConditionalEliminationPhase (GRAAL-346)
Delete unused stub.
enable TailDuplication for MergeNodes without stateAfter
Slightly increase GraalNMethodSizeLimit and make it a product flag.
Add sanity check to avoid overwriting the reserved code buffer for very large methods.
Merge.
Use slow-path stub call instead of deopt in lowering of DynamicNewArrayNode.
Fix stamp in unsafe load lowering
Assume that all unsafe loads generated after guard lowering derive from ArrayCopy Intrinsics
Introduce ReadCompressed opcode in WordTypeRewriter