fix a check in move_unit

The logic is supposed to be, if (x,y) == (prev_x, prev_y), then
skip the "find_vacant_hex" function because we don't have to move.
Instead we effectively had, if (x == prev_x OR y == prev_y), then
we can skip the check.

This revises a commit
72f138c54414bc0349def0271ec1ccbad984a28b

in the hopes to fix a bug reported here:
http://forums.wesnoth.org/viewtopic.php?f=4&t=41084
add tests for {MOVE_UNIT} macro
update changelog