REF/PERF: pd.concat
Sits on top of #52291.  Mostly a refactor making `Concatenator.__init__` less stateful, makes some of the annotations more accurate.  A bit of a performance improvement from avoiding a `_get_concat_axis` in some cases.  Makes it easier to spot in profiling where more overhead can be trimmed going forward.
Thanks @jbrockmendel 