pluto: Fix reversed modecfg server/client information in ipsec status
pluto: Split modecfg attribute addition into a separate function

This will make possible to run the code path outside the loop that adds the
requested attributes (and make it possible to add unrequested ones).
pluto: Always send modecfg banner and domain if they are set

According to the documentation they ought to be sent when the operator
configured them. Likewise, the split tunelling information should be sent
if the network is configured.

We loose track of whether they have been requested anyway thus we wouldn't
send them at all. Certain clients require them though (libreswan won't
invoke the NetworkManager helper if DNS info and DOMAIN is not set.)
_updown.*: Fix NetworkManager callback

Letting NM know is not just specific to resolver configuration management, NM
always needs to know if setting up the connection succeeded or timed out.

Moreover, it's probably not a good idea to unset the variables upon disconnect
as it would be nice if NetworkManager could identify the connection that goes
down.
pluto: Don't attempt to read attributes when there's just padding

Libreswan, unlike cisco, likes to add padding when transform payload attributes
don't line up to 4-octet boundaries while it doesn't seem to be too happy about
padding, being non-interoperable with itself (unless "ikepad" is turned off):

002 "conn" #4: modecfg: Sending IP request (MODECFG_I1)
005 "conn" #4: Received IPv4 address: 10.0.0.10/32
005 "conn" #4: Received IP4 NETMASK 255.255.255.255
005 "conn" #4: Received DNS server 8.8.8.8
005 "conn" #4: Received Domain: yolo
005 "conn" #4: Received Banner: swag
005 "conn" #4: Received subnet 192.168.100.156/32, maskbits 32
003 "conn" #4: not enough room in input packet for ISAKMP ModeCfg attribute (remain=2, sd->size=4)

RFC 2408 3.6 seems to be a bit unclear about how to pad the attributes
referring to "any padding." Let's just assume anything shorter than four octets
(minimal attribute size) at the end is padding and don't attempt to read
through it.