Add periodic wakeup in Future#value to debug

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.
Merge branch 'fix_thread_signal_deadlock'

Fixes #47