Send 'silent' attribute on swapPosition for auto-centering

Also refactor battle.swapPosition a bit to use more generic arguments.