Future.wait now allows _any_ pending Future to invoke callbacks when ready.

We use a Queue.Queue to collect Futures that are ready for callbacks.
Any time we .wait() on a Future we wait for a Future to show up in the queue, and process it's callbacks. If it's the one we wanted we return the result.
Merge branch 'master' of https://github.com/martinisgroup/pylabrad