If we have two signals to handle at the same time, discard an ignorable one instead of dying.

When a tracee receives a signal in a syscallbuf critical section,
goto_a_happy_place tries to step out of the critical section before
delivering the signal. During that process we might receive another
signal. This is difficult to handle 100% correctly and right now we
just assert and die.

However, if one of the signals is going to be ignored by the tracee,
we can just discard it instead of dying. This won't affect tracee
execution, but it does mean the debugger will not report the ignored
signal during replay. That is almost never going to bother anyone.

This patch discards the initial signal if it's ignorable. We could
add an extra patch that discards the new signal if it's ignorable, but
that's a bit trickier, and tests don't seem to need it, so I'm not
doing it here.