Language::Python.setup_install

Add a setup_install method so that formula authors don't need to remember to pass --single-version-externally-managed to setuptools-based setup.py's.

There are two flavors of setup.py: setuptools-based and distutils-based; we need to pass different arguments to each. Importing setuptools monkey-patches distutils so that setuptools functions are always used, so that we're always working with a single flavor. Pip uses this same trick verbatim, internally.

An alternative is to vendor pip and use it to do our dirty work; Apple unfortunately doesn't ship pip so we can't rely on it already being installed.

setup_install takes a "python" argument so that it may also be used with python3.
Yeah, unless we are extending the Resource class in some way (e.g., in `Resource::Go` we are modifying the behavior of the `stage` method) then subclassing is probably not gaining us anything.

It would be nice to wrap the `resource.stage` dance somehow, but I don't want to force it if it doesn't feel natural. We can always extend it later.