Generalize python chroots.
Review Request #403 — Created May 23, 2014 and submitted
Previously chroot assumed there was a distinguished binary target it was chrooting for. However this isn't really a requirement. The chroot machinery works just as well on any arbitrary set of targets. This change makes it do precisely that. Another change uses this to optionally run python tests together in a single chroot, which provides much greater speed, at the expense of dependency verification. Note that this commit is a partial change, broken out for code reviewing convenience. It won't be pushed to master on its own, as this would break the build. The full change will be pushed in a single consistent commit.
[On the fully merged changes] Ran all unit tests. Manually ran ./pants py and ./pants build.