(PUP-3203) Don't mutate trigger when checking for equality

Previously, when checking if the `current` and `desired` triggers were
equivalent, we were silently deleting the `index` and `enabled` values from
the `current` trigger. If we later needed to delete the `current`
trigger, we would have lost its `index`, resulting in a call to
`Win32::TaskScheduler.delete_trigger(nil)` causing the error:

    no implicit conversion from nil to integer

This commit ensure that we don't mutate the `current` or `desired` trigger.
Merge branch 'ticket/stable/PUP-3203-cant-update-trigger' into stable

* ticket/stable/PUP-3203-cant-update-trigger:
  (PUP-3203) Don't mutate trigger when checking for equality
Merge branch 'stable'

* stable:
  (PUP-3203) Don't mutate trigger when checking for equality