Get rid of almost all direct config access in python-building code.

Review Request #1954 - Created March 20, 2015 and submitted

Benjy Weinberger
jsirois, wickman

- Instead, relies more heavily on the existing PythonSetup class,
and a new sibling called PythonRepos.
- These are basically proto-subsystems, and we'll retrofit them
to be part of the subsystem mechanism once we invent that.
- Removes some unnecessary degrees of freedom in config.
For example, there's no reason to allow names of working and scratch dirs
to be configurable.
- Cleans up and streamlines the code.
- Moves some standalone functions into classes, for a more natural design.
- Refactors a test for better code reuse.

CI passes:

Tried various manual python builds.

John Sirois
Benjy Weinberger
Review request changed

Status: Closed (submitted)

Change Summary:

Submitted as 8143e76463ea5883fa9c511ce5d59255064132a6.