Home to plenty of natural beauty, one-of-a-kind attractions, historical sites, shopping and restaurants, these Alabama small towns worth a visit.