Evaluating Steiner Tree Heuristics and Diameter Variations for Application Layer Multicast