libmn: don't use `allow_exit` to assert against a deadlock

using `allow_exit` in the `waiting_fiber()` loop didn't make
sense. if we are woken up, the proclet that set `allow_exit`
might have already been rescheduled. it only makes sense to
check it synchronously when the proc is entering the wait
state but even then it doesn't catch all cases of deadlock.

it's easier to just test if there are proclets waiting on
port IO when there are definitely no more proclets to run.