Make debundling easier

* Installs import hooks to make it possible to import things from ``pip._vendor`` if they are debundled.
* Adds a flag for downstream re-distributors to use to unbundle things from ``pip._vendor``.
* Debundling does *not* adjust the ``install_requires`` of pip, downstream will still need to ensure that they have the correct list of dependencies.
* We do not test any versions other than what is pinned in ``pip/_vendor/vendor.txt``. 
* *Unrelated*: Properly handle comparison of ``Link`` objects with non ``Link`` objects.

The way this essentially works is that we install an import hook so that when you attempt to import ``pip._vendor.foo`` it first tries to import ``pip._vendor.foo`` and if that fails it falls back and will attempt to import ``foo`` and then adds it to ``sys.modules`` as ``pip._vendor.foo``.

Fixes: #1678
Fixes: #1651
This could probably use a comment explaining that it's appending any meta_path entries added while the original meta_path was swapped out. (it took me a moment to figure out that's what it was doing)