Fix interaction between Safeguard and Confusion

Safeguard was failing to block Confusion because the Confusion
`onStart` function did not pass a `target` and `source` to `runEvent`
when invoking the `TryConfusion` event, and Safeguard's
`onTryConfusion` function requires that a `target` and `source` be
specified.