Various refactoring of PythonChroot and related code.

Review Request #2327 - Created June 5, 2015 and submitted

Benjy Weinberger
jsirois, patricklaw

- Fold all pex interaction into PythonChroot/temporary_chroot().
Clients of PythonChroot no longer use PEX, PEXBuilder etc. directly.
- Get rid of and move its functionality into its only
client - PythonChroot. So instead of passing in many arguments,
it can read from self.
- Make most optional arguments required, in methods we were always
passing those arguments into anyway.
- Rename the egg_cache_dir option to the more precise 'resolver_cache_dir',
and move the global cache ttl option to be a PythonSetup option.
- Make the order of various arguments uniform.

All this simplification is good in its own right, but my motivation for doing it now is as a means to the future end of implementing caching of entire chroots, which in turn will make many things, including test running, much faster.

CI passed here:

Benjy Weinberger
John Sirois
Benjy Weinberger
Benjy Weinberger
Review request changed

Status: Closed (submitted)

Change Summary:

Submitted as 3a71d12e60140cf8c61a102a046fe69e1fe428be.