introduce simple CallbackHandle
A CallbackHandle is used to cancel a previosuly submitted future with set callback without keeping the future object around.
A CallbackHandle remembers the callback pointer and the IoContext where the callback was submitted to submit a cancel operation for the pointer on the same IoContext.
A CallbackHandle can be obtained by calling Future::submitAndGetCallbackHandle().
Edited by Maxim Onciul