Avoid reading rowgroup metadata in memory on the client side.

This will improve reading big datasets with a large schema (thousands of columns)
Instead rowgroup metadata can be read in the tasks where each tasks reads only the metadata of the file it's reading
actually this is not true as in the other case (Client side...) we make it reflect the size of the columns we are actually reading.
this is why I added length.