Fixed EnumerableToArray not passing through type parameter
Fix various issues with IEnumerable and IEnumerable`1:
  Linq.ToArray
  Dictionary`2.GetEnumerator
  List`1::.ctor(IEnumerable`1)