DISC/REF: split frame.py and generic.py into smaller files
These files are big enough that GH has trouble displaying a blame.  I think we should consider splitting pieces of these off into other files.  Brainstorming:

- `_make_logical_function`, `_make_cum_function`, `_make_stat_function_ddof`, `_make_stat_function`, `_make_min_count_stat_function` at the bottom of generic could have their own file, maybe `ops.unary`
- shared_docs could go in a dedicated file (this might also avoid some circular import issues IIRC)
- IO pass-through methods could go into mixin classes (xref #30350 motivating this idea)
  - to_json, to_hdf, to_sql, to_pickle, to_clipboard, to_xarray, to_latex, to_csv make up ~1200 lines of generic
  - to_gbq, to_stata, to_feather, to_parquet, to_html make up ~450 lines of frame.py

Thoughts?