[linq] Add a special case for IList to improve performance on first query operator