Implement base class for CompletionHandler concept

- Use movable_sentry for checking whether handler being removed or not.
- Handler containers can use unique_ptr<completion_handler> to hold
lots of completion handlers.