compiler: return a clone of instructions

When executor passes the instruction to loopback methods,
loopback modifies the data. Since we are loading the data using
`require` such changes affects also code that calls
`require` for one of the instructions files.

This change adds a deep clone step to prevent this issue.

/to @ritch please review. I'll port the patch to the master (2.x) branch after this PR is merged.