make Wait generally useful and move it to the futures module
laying down the foundations for the new futures.py