Fixes ugly bug: get_and_remove_event expects remove_event_if_exists to
return a value (the event if it exists or None if it doesn't).  By not
returning anything, was always returning None.  This interfered with
propagating backout messages: when servicing a
_ReceiveRequestBackoutAction, would always get no event, and not ask
that event to forward on the commit.