gdhcp: Transaction id was not set when receiving L2 packet

The transaction id was always printed as 0x0000 in debug print.
gdhcp: Transaction id is in network byte order

Print xid in host byte order so that it is easier to match the
value to data in network packet.
gdhcp: Fix memory leak when clearing option hash

The option list was not freed after individual options were
removed.

This is the valgrind report of the issue

==16972== 24 bytes in 1 blocks are definitely lost in loss record 81 of 262
==16972==    at 0x4C2745D: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==16972==    by 0x4E7FE6E: g_malloc (in /usr/lib64/libglib-2.0.so.0.3800.2)
==16972==    by 0x4E95FAD: g_slice_alloc (in /usr/lib64/libglib-2.0.so.0.3800.2)
==16972==    by 0x4E76A63: g_list_append (in /usr/lib64/libglib-2.0.so.0.3800.2)
==16972==    by 0x41297A: listener_event (client.c:1867)
==16972==    by 0x4E7A2A5: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3800.2)
==16972==    by 0x4E7A627: ??? (in /usr/lib64/libglib-2.0.so.0.3800.2)
==16972==    by 0x4E7AA39: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3800.2)
==16972==    by 0x40FDF6: main (main.c:689)
==16972==
==16972== 192 (144 direct, 48 indirect) bytes in 6 blocks are definitely lost in loss record 227 of 262
==16972==    at 0x4C2745D: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==16972==    by 0x4E7FE6E: g_malloc (in /usr/lib64/libglib-2.0.so.0.3800.2)
==16972==    by 0x4E95FAD: g_slice_alloc (in /usr/lib64/libglib-2.0.so.0.3800.2)
==16972==    by 0x4E76A63: g_list_append (in /usr/lib64/libglib-2.0.so.0.3800.2)
==16972==    by 0x4126F5: listener_event (client.c:1877)
==16972==    by 0x4E7A2A5: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3800.2)
==16972==    by 0x4E7A627: ??? (in /usr/lib64/libglib-2.0.so.0.3800.2)
==16972==    by 0x4E7AA39: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3800.2)
==16972==    by 0x40FDF6: main (main.c:689)
doc: Fix typo in session-overview.txt
doc: Fix typos in session-policy-format.txt
service: Do not reply via D-Bus when clearing service error

When clearing a service in error state, set both ipconfigs to idle
causing the service states in both ipconfig and service to be reset.
Save the D-Bus id before setting the service to idle and restore it
afterwards so that a possible D-Bus client won't be informed of a
connection error which actually never happened.

Clean up unnecessary checks at the same time.
openconnect: Remove authentication tokens also on connect error

The openconnect program will exit with a value of 1 not only when
there was a network error, but also when erroneous authentication
information is given. Therefore indicate authentication error also
in this case causing the authentication information to be cleaned up.
vpn-provider: Properly set VPN connection state on failure

Since the net.connman.vpn.Agent RequestInput D-Bus method call is used
to fetch fresh credentials from the user, set the VPN connection state
to idle after VPN authetication or login error. Other VPN errors will
keep the VPN connection in failure state.

Fix the code to allow the state to be set to failure if needed instead
of automatically transitioning to idle after failure.
vpn: Indicating error no longer needs state to be set to failure

Indicating an error already sets the state correctly. Remove the extra
call forcing the state to failure.
gsupplicant: Fix D-Bus cancellation for interface creation

Use NULL pointer as the caller argument for
supplicant_dbus_property_get_all(), as the wifi plugin does not have
the pointer to the interface struct until interface_create_callback()
is called, and thus can't use it for D-Bus call cancellation until
then.
wifi: Set interface pointer to NULL on deallocation

As interface_removed() gets called when the interface struct is being
deallocated, make sure the pointer is set to NULL regardless of the
other fields' values in wifi struct.
gsupplicant: Add a callback enabled setter for the WFD IEs

Wifi plugin will be able to update the WFD IEs through that function and
will know if it has been successfully set or not by a callback.
manager: Support WiFiDisplayIEs as a new Peer Service to handle

WiFiDisplayIEs is a tlv formatted byte array following the WiDi
specifications. ConnMan won't interpret anything about it in its core.
wifi: Support registering WiFi Display IEs when relevant

Wifi plugin will detect if the provided specifications of the service to
be registered are WiFi Display IEs. If so, it will request the proper
gsupplicant function to set those since WiFi Display IEs are a global
setting in wpa_supplicant.
gsupplicant: Refactor how Peer's groups is detected to have changed

Same structure will be then used to check whether or not the IEs
property has changed as well.
gsupplicant: Get Peer's WiFi Display information elements if present

Such IEs will be then presented to users through ConnMan's Peer
service API.
gsupplicant: Add a getter for the WiFi Display information elements

This will be then pushed to Peer's core, as is, without any
interpretation and then provided as a Peer Service of the Peer.
gsupplicant: Rename the peer state enum for future changes

In order to use peer_changed() callback also for peer's property
changed, let's rename GSupplicantPeerGroupState to GSupplicantPeerState
which then becomes semantically more generic.
gsupplicant: Add a Peer service changed dedicated state

This will be possible then to get those services and ask the peer core
to raise a proper DBus update on it.
gsupplicant: Notify about peer's services on WiFi Display IEs change

Notify such change to the wifi plugin, which will in return properly
update peer's services.