auth-dialog: fix destruction on cancel and simplify password dialog code

If the dialog was canceled, gtk_widget_destroy() would not be called.  Not
a huge issue because the process exits soon afterwards, but should be done
anyway.

Second, clean up the code to always put the certificate password in the
second entry, and the user password in the first entry, and just hide the
ones we don't need.