Prevent duplicate invocations or race dontision in SP.CompleteMovement()

This can happen under poor network conditions if a viewer repeats the message send
If this happens, physics actors can get orphaned, which unecessarily raises physics frame times
Actually put IsChildAgent = true inside the lock, otherwise there is still a small window for race conditions on duplicate CompleteMovement calls
Merge branch 'justincc-master'
Reorder checks in SP.CompleteMovement() to fix test failures