vlan: add missing includes
cli: enable OLPC device now that we have it in libnm-glib
libnm-util: fix two bugs in nm_setting_bond_get_option()

The function documents that it returns FALSE if idx is out of range,
so don't g_return_val_if_fail() in that case.

Also, free the return value from g_hash_table_get_keys().
wifi: don't remove APs still known to the supplicant

Because the supplicant doesn't have a BSS property for "last seen"
we have to fake that by listening to PropertiesChanged events for
stuff like signal strength, which usually changes a bit from scan
to scan.  But in case it doesn't change, we'll never get that PC
signal, and thus we'll never update our internal 'last seen'
timestamp, and thus the AP will get removed from the NM scan list
even if it was in the supplicant's last scan results.

So, if the AP if we haven't receieved a BssRemoved signal for the
AP yet don't remove it from the NM scan list.  One caveat is that
if the supplicant's DEFAULT_BSS_EXPIRATION_AGE value is greater
than NM's AP expiration age, NM will by consequence use the
supplicant's value instead.  At the moment the supplicant sets
DEFAULT_BSS_EXPIRATION_AGE to 180 seconds while NM's is 360.
cli: add 'bond' setting
cli: add 'vlan' setting
trivial: spacing fix
ip6: print out prefix in some debug messages
ip6: set binary NL address prefix too

There's both nl_addr_set_prefixlen() to set the binary address's
prefix length and rtnl_addr_set_prefixlen() to set the container
RTNL address's prefix length.  When the addresses come in from
the kernel these are the same, but when sending addresses to
the kernel, NM wasn't setting them to the same thing.  Do that,
since apparently libnl wants that when matching addresses in
nm-system.c:sync_addresses() here:

	if (addrs[i] && nl_object_identical (match, (struct nl_object *) addrs[i]))
		break;

otherwise the kernel addres (match) doesn't match the NM-derived
address (addrs[i]) that we got from the IP6Manager when reading
back kernel IPv6 addresses in response to netlink events.
libnm-glib: add NMDeviceBond

it exists on the server/D-Bus side, so it should exist in libnm-glib too
ifcfg-rh: don't write out a fake minimal IP4 config for bond slaves

The writer had code to fake up a simple IP4 config if the connection
didn't already have one. Make sure we don't do that in the bond case.
docs: add Infiniband, VLAN, and Bond settings to API specs
wifi: remove unused nl80211 attributes that break build on older kernels
ifcfg-rh: remove duplicate tests
cli: add Bond device support
cli: add a new reason code -> string mapping
trivial: s/master/parent for VLAN interface info function
core: use a second startup pass to detect all VLAN interfaces

We can't guarantee the ordering of devices that udev sends to us
on startup.  Thus, a VLAN interface could be sent before its
parent is, and we won't be able to find the parent in the device
list.  But that's fine; all parents will be detected during the
first pass, and we silently fail the VLAN interface.  Then we
do a second pass where any remaining VLAN interfaces will be
created because we found the parents during the first pass.
core: remove some redundant code and add some argument checks

ifindex is already passed to the function, no need to look it
up again.
core: handle NULL device path for activation

For virtual interfaces and other cases we won't necessarily have
a device path, which means clients will be passing "/" instead.
Fix that up the same way we fix up the specific object.