In a large bowl, mix sugar, yeast, salt and 1 cup flour. In a small saucepan, heat water, milk and butter to 120degrees-130degrees. Add to dry ingredients; beat on medium speed 2 minutes. Stir in enough remaining flour to form a soft dough., Turn onto a floured surface; knead until smooth and elastic, about 6-8 minutes. Place in a greased bowl, turning once to grease the top. Cover with plastic wrap and let rise in a warm place until doubled, about 1 hour., Meanwhile, in a small saucepan, combine cranberries, brown sugar and water. Cook over medium heat until cranberries are soft, about 15 minutes. Remove from heat; stir in butter, lemon juice and, if desired, walnuts. Cool., Punch down dough. Turn onto a lightly floured surface; roll into a 20x10-in. rectangle. Spread filling to within 1/2 in. of edges. Roll up jelly-roll style, starting with a long side; pinch seam to seal. Transfer to a greased 9x5-in. loaf pan, arranging in a slight zigzag fashion to fit., For topping, in a small bowl, combine flour and sugar; cut in 1 tablespoon butter until crumbly. Melt remaining butter; brush over dough. Sprinkle with crumb mixture. Cover with a towel; let rise in a warm place until doubled, about 40 minutes. Preheat oven to 350degrees., Bake until golden brown and dough is cooked through, about 40-45 minutes. Carefully remove from pan to a wire rack to cool.