Decouple translation and package iteration (kill pex.obtainer)

This gets rid of the Obtainer and is based off
https://rbcommons.com/s/twitter/r/778/.  This makes resolve() take a few
more options but simplifies the caching story -- there is really just one
place to specify a cache path.

Did a run of isort + killing unused imports, hence a couple drive-by files being touched.

Testing Done:
tox + pex building itself

Reviewed at https://rbcommons.com/s/twitter/r/785/