percpu_xmit: Use a proper memory order in clear_pending()

std::memory_order_release -> std::memory_order_seq_cst
We need to ensure that clear_pending() is not reordered with _mg.pop()
in poll_until().

We use a "relaxed" ordering in the clear_pending() itself (renamed to
clear_pending_weak()) and if _mg.pop() returns FALSE we put an
std::atomic_thread_fence(std::memory_order_seq_cst) and call for
_mg.pop() again to ensure the proper ordering.

Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>