daemon: Fix deadlock in async code

 * This occurred because gcc reordered the various atomic
   instructions in async_poll_func() during optimization.
 * Mark volatile to disable reordering optimizations involving
   those variables
For this old build don't try to disable deprecated code

 * Since I'm doing a bit of work on the gnome-2-28 branch, disable
   the checks for deprecated GTK and other code.
daemon: Uncoditionally wakeup the main loop when locking

 * Fix occasional deadlock in gnome-keyring wher a thread
   leaves concurrent mode, grabs the big lock, but the main loop
   doesn't wake up.