This allows pip to still be usable in the absence of the SSL module

The meat of this change is to allow the pip modules to be importable
even when SSL is not available. This is similar to the urllib or
httplib modules changing what is available based upon the existence of
SSL.

Note, this change does not allow fallback to pure HTTP when HTTPS
support is missing. No downloads will work when SSL support is
missing, but a nice helpful error message should be printed.

Logged as Issue #1165