gdbus: Prevent polling on a closed DBus connection
glib/tests/mainloop: Acquire the context while asserting its state

The iteration methods presume that the context is acquired.
gmain: serialized poll modifications for the backends

Only calling add_fd/remove_fd/modify_fd from the iterating thread
allows to remove all locking in the backends, and reduces complexity
all around. The only reason to do otherwise was that epoll_ctl
can be called concurrently and makes an explicit wakeup unnecessary.
But since even the epoll backend had to grow compatibility support
infrastructure and the associated synchronization, this small benefit
has been negated.