PERF: nancorr_spearman fastpath
xref #40956

The diff looks much more complicated than it is because of indentation changes - the change is basically allowing a fast path for computation without nans by pulling up a slightly modified computation of `sumx, sumxx, sumyy` before missing value handling.

Benchmarks:
```
before           after         ratio
[b73c38e2]       [efeac916]
<perf/grp_cumsum_int~7>       <nancorr_spearman_perf2>
            70.3M              71M     1.01  stat_ops.Correlation.peakmem_corr_wide('spearman')
-     1.39±0.06ms      1.01±0.02ms     0.73  stat_ops.Correlation.time_corr('spearman')
         669±20μs         641±40μs     0.96  stat_ops.Correlation.time_corr_series('spearman')
-      26.3±0.6ms       8.36±0.3ms     0.32  stat_ops.Correlation.time_corr_wide('spearman')
          491±3ms          473±9ms     0.96  stat_ops.Correlation.time_corr_wide_nans('spearman')
       8.04±0.5ms       7.97±0.6ms     0.99  stat_ops.Correlation.time_corrwith_cols('spearman')
          215±1ms          213±2ms     0.99  stat_ops.Correlation.time_corrwith_rows('spearman')
```
can you  add this PR number to the existing perf note on corr, ping on green. Added a small fix and test in latest commit for edge case of min periods > frame length