core: use unix domain management socket instead of TCP socket

Simpler and eventually allows more than one concurrent openvpn session
on the same machine.
core: fix protocol and port specified with remote address

If the port and protocol were specified in the remote address
option (eg, "host[:port[:proto]]") nm-openvpn-service still
added explicit --proto and --port options later, which confused
openvpn.

Let the port/proto of the 'remote' take precedence, and fallback
to using the separately configured port or protocol options if
the 'remote' didn't specify any.
core: print executed openvpn command-line when debug logging is enabled
core: use '--auth-retry interact' to query for failed passwords

If authentication fails allow the management interface to ask for
new passwords instead of just terminating the VPN connection.
merge: use unix socket for management and other misc fixes (bgo #738301)