Nikki Haley takes aim at Trump and DeSantis during CNN town hall