ENH: Add query functionality to skiprows param in read_csv
This allows users to pass in strings to query through the ``skiprows`` parameter in ``pandas.read_csv``. This is done through querying the Dataframe as soon as it is created, and returning a Dataframe with the desired columns to the user. 

Included in this PR are the relevant whatsnew entry, documentation changes, and new tests.

- [X] closes #32072
- [x] tests added / passed
- [X] passes `black pandas`
- [X] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [X] whatsnew entry
Agreed that we shouldn't proceed in the current form. Passing a string expression implies (at least to me) that the filtering happens before the data is loaded into a DataFrame. Skiprows being separate makes sense to me. In the latest change I added a new parameter ``conditionalrows`` that performs the query functionality instead. I feel this is a nice thing for users to have when reading in data, so hopefully this is a better integration of the idea.

If it's still a better idea to separate query from read_csv entirely, I can take a look at improving the documentation instead. I don't think we should add any kind of "query" functionality to `read_csv` unless it's reducing the peak memory usage. For anything that's equivalent to `read_csv(...).query(...)` (i.e. read all the data, construct the DataFrame, then query) the user should just write that. I think an example in the docs or cookbook along the lines of 

```result = pd.concat([df.query(...) for df in pd.read_csv(...., chunksize=...)], ignore_index=True)```

is ok > Skiprows being separate makes sense to me. In the latest change I added a new parameter `conditionalrows` that performs the query functionality instead. I feel this is a nice thing for users to have when reading in data, so hopefully this is a better integration of the idea.
> 
> If it's still a better idea to separate query from read_csv entirely, I can take a look at improving the documentation instead.

I totally agree on this. Remaining `skiprows` separate and adding a new query param is a lot nicer and reasonable. I think it'd be great to support query-like param while reading the data. I know pretty much `df.read_csv(..., chunksize=...).query(...)` does the trick, but this query-like feature would be nice for users. closing this as wont fix
but would take a doc example if you want