[turbopack] Remove `Clone` from `Effect` (#86110)
Disallow cloning effects.
This was only performed in one location to address an issue with modeling calls functions that had alternates. However, this had the unfortunate effect of producing duplicate `CodeGen` objects. (it also could link values redundantly). This was fixed by refactoring the recursion and moving the the effect collection to one place.
Many CodeGens are naturally idempotent so this wouldn't typically cause trouble, but it is wasteful and potentially hides other bugs. For example, this also adds detection for duplicate code gens and doing so found that we were generating unreachable effects for finalizers incorrectly.