[model] Fix a race in abort processing in make_expression

Previously, there was a window where we can send an abort while the
request has been terminated on the other side (but the answer was not
here, or not yet processed). In this case, we were waiting infinitely an
interrupted answer from the remote agent (which will never happen
because the request is now finished).

Now, check final_state and must_interrupt flag, and send the right thing
to the recipe level.