chess: add Board._generate_moves()