SSL certificate verification.

builds on original pull #789

Done:
  - move ssl and match_hostname imports to backwardcompat
  - added match_hostname function to pip (no external dependency)
  - cert path moved to locations module
  - better error message when UrlError.reason is CertificateError or SSLError
  - added license for CA Root ceriticates
  - miscellaneous test fixes
  - `--cert-path` option to override path to pem file
  - add new tests
  - when scheme is 'https' and have ssl module, add in ssl cert verifying handler (and exclude http handler). otherwise,  use `build_opener` to generate a "standard" chain of handlers.
  - `--allow-no-ssl` option to allow lack of cert verification when no ssl module (for py25 users who won't install ssl)
  - update to latest certs securely (https://gist.github.com/jjb/996292)
  - update authors file and release notes
  - update pip docs 
  - py25 socket patch to work with ssl backport
  - only show `--allow-no-ssl`  when no ssl
  - use the words "CA bundle" instead of "certificate file"
  - get an install test working that installs ssl backport for py25
  - refactor `backwardcompat` to a package
  - py25 ssl backport install test works locally, but skipping on travis for now.
  - fix the "pip list" tests to use our local packages for testing
  - wait for PSF's new cert, then remove old cacert.org cert from pem file
  - http://cheeseshop.python.org/ 503 errors have been fixed
  - updates based on jannis review

Todo:
  
   - merge and release an RC.