tst-async: ensure that callback fires before cancellation

In test callback_fires_if_not_cancelled it is possible that the main thread
manages to acquire the mutex just after the value of 'proceed' is set
and before the callback acquires that mutex. If that happens the callback
gets cancelled and therefore do not fires. This patch moves setting the
value of 'proceed' after the callback actually fires so that it is never
prematurely cancelled.

Signed-off-by: Paweł Dziepak <pdziepak@quarnos.org>
Reviewed-by: Tomasz Grabiec <tgrabiec@gmail.com>
Signed-off-by: Avi Kivity <avi@cloudius-systems.com>