Whether you prefer beaches or mountains, consider one of these small towns in North Carolina for your next getaway.