Added a timeout parameter to Future::wait

A function has also been added to Request to abandon a request and not wait in the destructor.