ENH: Add ORC reader
- [x] closes #25229
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

Added an ORC reader following the `read_parquet` API. Still need to give some additional love to the docstrings but this is at least ready for some discussion and eyes on it.
Note: could also likely use some work to share the functionality between parquet and ORC readers where possible. There's a lot of copy paste currently in this PR. I unfortunately am not going to have the bandwidth to drive this to completion likely for a while, so if someone would like to take this over it would be welcome. ok let's see what we can do here > Added a few comments.
> 
> For test testing files, did you write them yourself, or do they come from somewhere? I was wondering if you could make the > 50KB ones a bit smaller.

IIRC @kkraus14 mentioned these were externally generated; these are pretty small so I don't think this is a big deal (and they are skipped when we generate the stripped builds anyhow (e.g. remove tests/data) updated this is good to go @jorisvandenbossche @WillAyd  @jorisvandenbossche wow I can't commit these on-line (likely because this is owned by @kkraus14 ) Thanks @kkraus14 and @jreback !

> wow I can't commit these on-line (likely because this is owned by @kkraus14 )

Strange, as the branch is open to push commits by maintainers .. > lgtm. very nice implementation

actually this was on my office computer; we block push so likely that’s the issue; thanks for merge Apologies that I didn't have the bandwidth to drive this to completion. Thanks @jreback and @jorisvandenbossche for driving this to completion. thanks for putting this up @kkraus14 !