Refactor kube auth

Partially resolves #2302 
If you prompted the user, got valid auth information, and then failed to write the auth file, it is still possible to continue running correctly.  I would have a test that looks more like this:

if (err != nil) && (authInfo == nil){
    fatal
}
if (err != nil){
   glog.Errorf
}