Allow deferred functions to be cancelled.

In many cases you want to cancel any deferred operation if the
originating instance was destroyed. This can now be done by passing a
shared bool to the EventService.
Better protection from faulty deletions.

It seems as if there are some situations where a meta query might get
deleted twice. Try to detect this and log as an error.
Test predicted position.
Make sure predicted position is updated when moved.

The predicted position must be updated instantly when new movement data
is received from the server, else the predicted position will be
incorrect for all code that listens to the Moved signal.