handle pawn promotion in update_board()