Use a ZipFile as the get-pip.py script

Previously get-pip.py was a hacky script that included compressed
base64 encoded pickled files that represented an installed pip. It
extracted these files into the temporary location and then executed
that unpacked pip in order to install pip and setuptools from PyPI.

This changes it so that get-pip.py is the bootstrap script and it
contains inside it a base64 encoded zipped copy of pip. It will
decode this base64 encoded zip file, write it to a temporary
location, and then add it to the sys.path. It will then run
the bootstrap function which will extract cacert.pem from the
zip file, write the cacert.pem to a temporary location, and
finally install pip using the copy of pip within the zip
using the temporary cacert.pem to validate the TLS connection to
PyPI.

This should represent no change in behavior for users of get-pip.py
however it should push the trouble of the bulk of the implementation
onto the Python install instead of trying to do this ourselves.

The one important behavior change for packagers is that this will
no longer package an *installed* pip, but will instead package the
version that has been checked out. I believe this is more obvious
and what a packager would expect to happen anyways.
Merge pull request #1510 from dstufft/use-zip-get-pip

Use a ZipFile as the get-pip.py script