Wakeup in Future#value

Looks like Future#value can deadlock. See if adding a periodic wakeup is a (slow) workaround.
Use Queue as a semaphore in Future#value

It looks like the signalling with Mutex#sleep and Thread#wakeup has some kind of race, so use Queue instead.