Simplify MatchCollection's ICollection.CopyTo

- Uses [`List<T>`'s implementation of `ICollection.CopyTo`](https://github.com/Microsoft/referencesource/blob/9da503f9ef21e8d1f2905c78d4e3e5cbb3d6f85a/mscorlib/system/collections/generic/list.cs#L394-L407) which is behavior compatible with the previous implementation.
- `SR.Arg_RankMultiDimNotSupported` and `SR.Arg_InvalidArrayType` are no
longer needed.
- Avoids an unnecessary array allocation by no longer using
`List<T>.ToArray()`.
`_matches` starts out empty and isn't filled unless `count` or the indexer are accessed.