Added TypedCollection<T> and TypedEnumerator<T> to wrap non-generic types; added EnumerableExts.ToReadOnly* methods