Support IReadOnlyList in System.Linq.Enumerable.ElementAt and ElementAtOrDefault

Whenever an object implements IReadOnlyList<T>, ElementAt can use the indexer instead of enumerating the whole thing.