SSL certificate verification.

updates to pull #789

Changes:
  - move ssl and match_hostname imports to backwardcompat
  - added match_hostname function to pip (no external dependency)
  - big alert message during installs if no ssl module
  - degrade to standard urllib build_opener when no ssl module
  - cert path moved to locations module
  - better error message when UrlError.reason is CertificateError or SSLError

Todo (for tomorrow):
  - update cert file based on vinay's link and confirm hash (and then wait for new certs from PSF)
  - add in the cert license, per comment from Kenneth
  - add some new tests, like I mentioned in the other pull
  - miscellaneous test fixes that using "https" has caused
  - update pip docs in various places