First hack at x509 auth

Posting this mostly for comments.  I haven't looked at writing the required tests yet.
@liggitt  The issue is that the global rhlogin and password options are not needed if x509 auth is being used.  I'm not entirely sure how far we want to refactor things in the first pass at this.  I would be fine with keeping this logic (only for basic auth) if it's needed for allowing the user to override their configs.  Just let me know and I'll put it back in.