COMPAT/PERF remove arrays from Vector classes (WIP)
alt to #16193
closes #15854 

This has the downside of introducing more manual memory management, but on the plus side removes the interim gil acquisition  from some algos.

cc @mattip - if you could give this a try in PyPy?  Thanks.

I could not figure out a way to append to this pull request, so I started yet another one #16224 superseded by #16224  you just force push to the same branch.

``git push yourupstream branchname -f``