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.
Merge pull request #1 from FransBouma/master

Optimized ImmutableList.AddRange to avoid Add()