message: Add a missing virtual destructor to CollectionChangeCallback
  This resulted in the destructor for the callback object passed to
  `add_notification_callback()` not being called, potentially resulting in memory
  leaks when removing notification callbacks.
diff: @@ -126,6 +126,7 @@ public:
  private:
  struct Base {
  + virtual ~Base() {}
  virtual void before(CollectionChangeSet const&)=0;
  virtual void after(CollectionChangeSet const&)=0;
  virtual void error(std::exception_ptr)=0;
  