refactors _isUnobstructed checks in Move and removes piece type check from _checkPawnMove