[IR] Various fixes to inlining code.

* Added ipc to Instr so that inliner can use ipc to identify
  the call site where code should be inlined rather than rely on
  reference identity of the call instruction.

* Added ability to clone host scope instructions before inlining
  in case the host scope is on call stack (this prevents destructive
  updates between the two invocations of the scope).

* Rescue map for a scope is created during interpretation and used
  directly rather than traversing CFG which would be buggy in the
  presence of inlining.

* Other related cleanup and fixes stemming from the above changes.