[CORE] Fix completion_wait_common() for wait timeout case

When the __vmm_waitqueue_wait() returns due to timeout the
return value is VMM_ETIMEDOUT which is not VMM_OK.

In this case, we should still be decrementing completion
done flag if it was not zero. If this is not done then
subsequenent completion wait will not sleep because done
flag was not decremented.

Signed-off-by: Anup Patel <anup@brainfault.org>