Dubrovník, mesto s dvojkilometrovými hradbami