ippool: Private address check was incorrect

Fixes BMC#25993
ippool: Clear allocated block pointer at cleanup

Without this the unit tests might core dump as the allocated_block
pointer would point to already freed memory.
unit: Test ippool collision differently

Existing tests did not test this scenario:
* new address is registered to 192.168.1.2
* ippool is created to 192.168.0.1 (no collision)
* ippool is created to 192.168.2.1 (there is a collision and the
  code should skip the 192.168.1.1 range)
unit: Multiple collisions with different pools

Existing tests did not test this scenario:
* new address is registered to 192.168.0.2
* new address is registered to 192.168.1.2
* ippool is created to 192.168.2.1 (no collision)
* ippool is created to 192.168.3.1 (no collision)
* new address is registered to 192.168.3.1 (collision detected)
dhcpv6: Send domain list option to server

OPTION_DOMAIN_LIST(24) was not sent to server.
client: Fix DBUS_TYPE_UINT16 pretty-printing

The previous pretty-printing fix causes another change to be
made for DBUS_TYPE_UINT16.
client: Don't handle Agent messages in monitor code

Agent messages need to be handled in the agent code, ignore them when
they get captured in the monitor code.
client: Create agent data structure and pass it in function callbacks

Collect the agent variables into a data structure and update the agent
functionality to pass this data structure around as function callback
user data.

Update the agent mode input functionality to store both the callback
function and user data pointers. Notice that only only one input
callback can be handled at any one time due to the input handling itself
and the simple storing of callback and user data pointers.
client: Add VPN Agent support for Release, Cancel and ReportError

Create a new agent data structure for the VPN Agent and add the needed
minor modifications to Release, Cancel and ReportError method calls in
order to get them working both for Agent and VPN Agent.

Create new register and unregister functions for the VPN Agent code.
client: Implement support for queueing Agent messages

ConnMan and ConnMan VPN daemon both send only one Agent message at
a time. Since they are two different daemons, they can be sending
messages at the same time independent of each other.

Implement a check for an agent request from the other daemon being
already processed and if so store the message for later. When the
current agent request has been processed, check if there are
pending requests from the other daemon and re-run the pending
function.

In order to support arbitrary queueing, make all method call
implementations asynchronous.
client: Add vpnagent command to register and unregister VPN Agent
client: Implement VPN Agent API RequestInput method call

Instead of having a global agent_input struct, make the structure a
member of the agent_data structure that gets passed around when
handling the RequestInput method call.

With this modification agent_data is self-contained with all needed
information and the RequestInput handling code can be shared between
ConnMan and VPN agent implementations.
client: Fix passphrase handling

An empty passphrase means that WPS is to be tried next. If WPS is not
supported by the service, passphrase can not be left empty.