Proper fix for castle move parsing

The previous fix was broken. The fix was swapping the sign of the hDiff
of the king move, therefore fixing short castles. But the real bug was
in hDiff (and similarly vDiff) which did the same as hDist / vDist.