From Texas to Tennessee, these are the best small towns in the South for beautiful scenery, historic attractions, outdoor adventures, and delicious food.