Former President Trump set to appear on CNN town hall