Faster find reqs

The meat of the change is the big green block in venv_update.py.

A bit of churn for additional test coverage, and due to discussions with upstreams of my branches.