Make emitting the same bytecode twice inside a SendFastNew idempotent

When the bytecode for a SendFastNew node is generated, two conditional
paths end up emitting bytecode for the same node twice. Under very
specific circumstances, for example in the presence of PatternArguments,
this operation was not idempotent, and local variable slots would not be
reset, leading to the generation of invalid bytecode.

This commit changes the logic behind the generation of new locals by
exiting early if a variable by the same name exists in the same scope,
thus allowing multiple copies of the same bytecode to reuse the existing
local variable slots.

Fixes #2323