Added reference count to future

A client application shouldn’t have to wait on a future to delete it.
If an application hits an error condition (or just doesn’t want to
wait) is should be able to clean up and move on without waiting on
pending requests.