Returns a new board with a new promoted square set.
promoted
Board withPromoted(SquareSet promoted) { return copyWith(promoted: promoted); }