CLN & REORG core/common.py
some ideas on reorging.
- [X] rename `pandas/util/misc.py` to `pandas/util/tools.py` or `pandas/util/util.py` (https://github.com/pydata/pandas/commit/a69d628db77cc67f79590bbb3f13e178cb8b0e93)
  - [X] move `core/generic.py/_validate_kwargs` (and new `validate_args`) here (https://github.com/pydata/pandas/commit/6e6478764a8e002e2436da3ee981512917d9b7c4)
  - [x] move the `various python utilities` section from `core/common` (#13147)
- [x] create `pandas/types/` (#12804)
  - [x] move `pandas/core/dtypes.py` here
- [x] create `pandas/types/types.py` (#12804) 
  - [x] move `bind_method`, `create_pandas_abc_types` here (from `core/common.py`)
  - [x] move the `is_...._dtype` to here (#13147)
- [x] move `core/common.py/concat*` to new sub-package `types/concat` (#12844)
- [x] move `core/common.py/take*` stuff to `algorithms` (may need to create a sub-package for this) (#12804)
- [x] create new sub-package `pandas/formats` (#12804)
  - [x] move `core/common.py/printing utilities` to new sub-package `pandas/formats/printing.py` (#12804)
  - [x] move `core/format.py` here as well (maybe split later) (#12804)
