Everything you need to know to visit Dubrovnik: the city walls, Game of Thrones sites, when to go, how to avoid crowds, and where to stay.