cli: additional fix for nmcli connection down

nmcli crashed when a timeout was hit, because 'info' was used after freeing
in down_timeout_cb().

Fixes 4a7c88621ddd8e8089f63071e3114003a0efc622.
contrib/rpm: ignore libgsystem/ repository in build_clean.sh
cli: g_strdup(NULL) returns NULL; simplify code for that
ifcfg-rh: don't include nm-utils-private.h outside of libnm-core/
devices: don't release slaves on exit (rh #1169936)

nm_device_removed() calls nm_device_release_one_slave() in order to
fix up NetworkManager's master/slave bookkeeping, but we don't want to
tell the kernel to actually unslave the device, since that would
happen automatically anyway if the device was really removed, and
shouldn't happen if the device is just being removed from NM's device
list.

(In particular, don't remove all libvirt-created virtual network
devices from virbr0 when NetworkManager exits.)
core: fix leak of generated connection if device is active

Don't generate (and add to settings) a connection if we aren't going
to use it anyway.
libnm-core: fix the rule for parsing 'gateway' out of 'addresses' (rh #1170199)

We were always using the gateway field of the first address in
ipv4.addresses / ipv6.addresses to set the gateway, but to be
compatible with old behavior, we should actually be using the first
non-0 gateway field (if the first one is 0).