clients: move secret agent to common directory

The agent code will be shared by both nmtui and nmcli.
clients: add real property name to NNSecretAgentSimpleSecret

It is necessary to identify secrets uniquely in nmcli.
cli: use secret agent for getting passwords from user

--ask option has to be used, so that nmcli can be interactive.
cli: add 'passwd-file' option for 'nmcli connection up' to provide passwords

It is useful for running nmcli without --ask option, i.e. non-interactively.

Example contents of the file:
wifi.psk: s e c r e t 12345
802-1x.password:kili manjaro
802-1x.pin:987654321
man: document/clarify --ask option in relation to password prompting
merge: use NM secret agent in nmcli when connecting to networks (bgo #705998)

The secret agent code is shared between nmcli and nmtui.

https://bugzilla.gnome.org/show_bug.cgi?id=705998
https://bugzilla.redhat.com/show_bug.cgi?id=990111
clients: add common code for polkit agent listener

that can be used by nmcli and nmtui
configure: check whether polkit-agent-1 is available
cli: add a polkit agent support for nmcli

Example: nmcli --ask general hostname computer007
merge: implement a polkit agent and use it in nmcli (bgo #739413)

The polkit agent listener code is generic and will be used by nmtui as well.

https://bugzilla.gnome.org/show_bug.cgi?id=739413
cli: add 'nmcli agent' command (bgo #739568)

Synopsis:
nmcli agent { secret | polkit | all }

The command runs separate NetworkManager secret agent or session polkit agent, or both.
It is useful when
- no other secret agent is available (such as GUI nm-applet, gnome-shell, KDE applet)
- no other polkit agent is available (such as polkit-gnome-authentication-agent-1,
  polkit-kde-authentication-agent-1 or lxpolkit)

https://bugzilla.gnome.org/show_bug.cgi?id=739568
sd-dhcp-client: Add missing initializers

Missing initializers together with automatic cleanup seem to annoy GCC's
-Werror=maybe-uninitialized, breaking the --enable-more-warnings=error
builds.