device: Refactor device scan function

In wifi plugin this means that we combine three wifi scan
functions (normal, fast, hidden) into one scan function.
vpn: Accept also "true" or "1" as a boolean value

Currently user is able to set the boolean VPN config value
only by setting the variable to "yes". This is not very
intuitive so accept also the value of "true" or "1".
provider: Return VPN gateway IP address

If 'provider->host_ip[0]' is set, it contains the
resolved IP address. If not set, the 'Host' property
already contains an IP address.
l2tp: Get VPN gateway resolved IP address

We should not use the Host variable from provider as it can
contain a non-resolved address.
pptp: Get VPN gateway resolved IP address

We should not use the Host variable from provider as it can
contain a non-resolved address.

Fixes BMC#25658
pptp: Fix PPTP option typo

Fixes BMC#25660
gdbus: Fix compilation error if macro "error" is defined

The variable "signature" used in error is not defined and "args" is now
a struct instead of a string.
inet: Properly remove IPv4 address and set interface down

The interface was not properly set down and thus the services
were not removed.

Fixes BMC#25659
service: Do not report error twice

In request_input_cb(), __connman_service_indicate_error() unconditionally
reports an error via agent after determing the service state. The error
reporting and user connectable state will be properly handled by
service_indicate_state().
session: Update overview doc

Update to the new D-Bus API and the simplified connection
algorithms (state).
session: Move IdleTimeout to Technology API

Having an IdleTimeout per Session is not really reasonable. It is
hard to define the right behavoir if the timeouts differ per Session.

Doing this per technology is easier to understand and also makes
sense when no Session is used.

IdleTimeout is only documented here, it's not yet implemented.
session: Remove IdleTimeout implementation
session: Update ConnectionType documentation

The ConnectionType configuration option will be moved to
the config plugin when we know how the application can be
uniquely identified in a persistent way.
session: Remove PeriodicConnect documentation

The idea was to let ConnMan know and optimize the connection
scheduling. Doing this per Session is a bit over-engineered.
The only use cases that have come up so far was for things like an
email client checking for new message.

Past experience showed that this kind of interface lead easily to
live locks. If there is need for such a feature, doing it on a per
technology would make more sense. For the time beeing it will be
removed. Later it could still be added to the Technology API.

If an application still wants to have a connection on regular
basis it can call the Session Connnect() method. ConnMan is still
able to defer any connection request.
session: Remove PeriodicConnect implementation
session: Remove SessionMarker documentation

SO_MARK can only be set if the application has the CAP_NET_ADMIN
capability. We don't want to give that to all application for
good reasons and thus this approach won't work. Also touching all
applications to get this feature working is not a good idea. We
are going to use a cgroup controller to set SO_MARK and therefore
we don't need it in the Session API.
session: Remove SessionMarker implementation
session: Add configuration plugin
session: Remove Priority documentation

Remove this setting from the D-Bus API and move it to the
configuration plugin.
session: Move Priority to configuration plugin

The Priority setting which should be set by the platform integrator
and not by the application developer is moved the configuration plugin.