Remove mayNotMove & code cleanup

For anyone using mayNotMove, there’s no other way to achieve that
feature at the moment, but hopefully we’ll have an onMove creature
event (or Player.onMove event) in the future where you can return false
instead. Until then, you’ll have to add it back in a local copy of the
source code if you really need it.

This commit also allows passing player userdata to selfSay and removes
the publicize parameter as it was useless (if you had a target, it
wouldn’t be public, if you didn’t have a target it would be public).