add no queen on first move rule

plus some small refactoring for readability.
implements _check_victory()
fix tests to conform with black/white turn
_validate_turn() when placing and moving a piece