Previously, `LinearMapInfo::shouldDifferentiateInstruction` had a special case
for `copy_value`, returning true for `copy_value` instructions with an active
operand.
This is unexpected and led to "leaked owned value" ownership verification
failures due to unnecessarily cloned `copy_value` instructions during
differential generation.
Now, the special case is removed, fixing the failures.
`shouldDifferentiateInstruction` returns true for `copy_value` instructions
whose operand and result are both active.
Resolves SR-13530.
Splits the large `forward_mode.swift` test file into 3 files:
- `forward_mode_simple.swift`
- `forward_mode_array.swift`
- `forward_mode_simd.swift`
This significantly speeds up testing time when tests are run in parallel.