refactor: convert "link tuple" to FoundVersion class

This changeset builds on top of buck-lint.
See the diff here: https://github.com/bukzor/pip/compare/buck-lint...buck-found-versions

This makes things significantly simpler and more readable, and paves the way for more significant simplifications.