gsupplicant: Avoid invalid read in scan_callback

If a pending scan_callback is called after a dongle removal,
invalid reads occur in connman_device_reset_scanning, for
instance. This patch cleans the callback, before dbus remove
interface is returned.
doc: Fix some typos on coding style
ntp: Reset the source id after removal

Fixes this issue:
connmand[3288]: src/ntp.c:__connman_ntp_stop()
(connmand:3288): GLib-CRITICAL **: Source ID 144 was not found when
 attempting to remove it
device: Remove unused device->devname
test: Improve p2p-on-supplicant test script for P2P connection

- Provide a device name for the local p2p device
- join or negociate for a group according to distant peer
- GroupFinished signal handler added by
  Eduardo Abinader <eduardo.abinader@openbossa.org>
rtnl: Don't watch slave interfaces

If a bond interface is used, the bond interface and the slave
interfaces will share the same MAC address.  This can eventually
cause connman to crash, because several things depend on a unique
MAC address per interface.
network: Properly remove addresses when DHCPv4 lease is lost

As addresses were not properly removed, the D-Bus API showed IP
addresses even if the interface addresses and routing entries
were removed when the DHCP lease was lost. Also ensure that the
network is no longer associating, should the lease have been
lost at startup. As the DHCP code will nowadays continue trying
after a lease is lost, don't make the upper layers stop the
DHCP procedure.

Add better logging so that lease acquired and lease lost can be
properly noticed.
test: Remove minor typos in p2p-on-supplicant
test: Argument parsing for p2p-on-supplicant

Argument parsing functionality for commands and options:
 - dbus is now wpa_s property
 - help is being shown from the command_list built in arg parse time
 - added enum like class (ArgFields) for future options in arg parsing
gsupplicant: Fix an emptyness test on an array

Reported by Daniel Wagner <daniel.wagner@bmw-carit.de>
technology: Fix a false positive NULL dereference

P2P technology cannot exist without wifi technology, so if P2P is
present, wifi is present as well. Thus what coverity thinks is a NULL
dereference is a false positive here.

Reported by Daniel Wagner <daniel.wagner@bmw-carit.de>
wifi: Check the returned code when registering the P2P technology driver

Reported by Daniel Wagner <daniel.wagner@bmw-carit.de>
wifi: Don't fetch interface name from device structure

Update the code to use connman_inet_ifname() when fetching the
interface name. This prevents the wifi plugin from using a
previous interface name should an interface rename event have
happened.
gsupplicant: Allocate memory for data that is to be used in callback

When gsupplicant is handed interface data, allocate memory for the
supplied strings as the caller might free them at any point. Create
a helper function freeing the strings and the structure itself.
test: Fix code style in p2p-on-supplicant

Just complying to code style.
test: Add P2P invite call and signal result

Invite discovered P2P peer to join or form a group.
openvpn: Document OpenVPN.ConfigFile option
gdhcp: Set DHCPv4 protocol broadcast flag when sending broadcast

Some network elements will silently drop DHCPv4 messages if they are
not sent as broadcast by the server. Therefore request broadcast
replies by unconditionally setting the broadcast flag for all
broadcast messages sent by the client.

With this change the broken vendor check can be omitted.
test: Set command_list properly

Command list passed to wpa_s was not being extracted from arg list, but
storing the whole list. This caused the help to be buggy.
service: Simplify nameserver index lookup