auth-dialog: refactor standard vs. external-ui-mode logic (bgo #728681)

Give each method a much clearer path and make sure they aren't
tangled together.

This should also fix a bug with external-ui-mode where if no
secrets were required, or both secrets were saved, that external
UI mode would exit early without writing a keyfile to stdout.
This caused a traceback in GNOME Shell 3.12.

https://bugzilla.gnome.org/show_bug.cgi?id=728681

Based off NM-openvpn commit 440671733a3e38c63a9b5882482c4cc710c71a39