Optimized AddRange()

Optimized AddRange so it doesn't use Add, but instead pre-sizes an array
to copy from. Optimal code paths for both ICollection, ICollection(Of T)
and IEnumerable.