respect http(s)_proxy env variable for proxy information

The idea behind this is to allow a user to specify the username/password
and other proxy information in an environment variable instead of
the configuration file. Subscription manager will use the values passed in from
the cli or from the configuration file if present otherwise it will try to use
the http(s)_proxy environment variables. The variables are read in the following
order:

HTTPS_PROXY
https_proxy
HTTP_PROXY
http_proxy

Summary of changes:

    * moved parse_url, ServerUrlParse* exceptions, has_(good|bad)_scheme
      from subscription-manager utils.py
    * updated parse_url to handle username/password
    * Add unit tests for parse_util
    * added get_env_proxy_info utility method to hide details of
      working with the env variables.

NOTE
---------
I've addressed the changes made in previous review: https://github.com/candlepin/python-rhsm/pull/106