wifi: Fix tethering with kernel 3.5

Wifi tethering works with kernel 3.4, but not with 3.5. Bisecting
showed that the following kernel patch causes the breakage:
    "3edaf3e mac80211: manage AP netdev carrier state".

Running connman with debugging enabled showed that in case of 3.4
we have the following sequence of RTM_NEWLINK events from the kernel:

1. IFF_UP not set, ifi_change=1
2. IFF_UP,IFF_LOWER_UP, ifi_change=1

which makes connman do the following:

connmand[210]: plugins/wifi.c:wifi_newlink() index 4 flags 4098 change 1
connmand[210]: plugins/wifi.c:wifi_newlink() interface down
connmand[210]: plugins/wifi.c:wifi_newlink() index 4 flags 69635 change 1
connmand[210]: plugins/wifi.c:wifi_newlink() interface up
connmand[210]: plugins/wifi.c:wifi_newlink() carrier on
connmand[210]: plugins/wifi.c:handle_tethering() index 4 bridge tether

However, in 3.5 we have the following sequents of events from the kernel:

1. IFF_UP, ifi_change=1
2. IFF_UP,IFF_LOWER_UP, ifi_change=0

which makes connman do the following:

connmand[493]: plugins/wifi.c:wifi_newlink() index 4 flags 4099 change 1
connmand[493]: plugins/wifi.c:wifi_newlink() interface up
connmand[493]: plugins/wifi.c:wifi_newlink() index 4 flags 69635 change 0

The root-cause for it is that connman handles the "ifi_change" flag
incorrectly. Connman interprets it as "if non-zero, there was some change",
which is wrong. According to RFC 3549, it is "reserved for future use.
Must be set to 0xFFFFFFFF". Thus, just remove that check, which makes
tethering work.
rtnl: Ignore netlink messages generated by wext

ConnMan should just ignore netlink messages generated by wext
as described in commit 4997f6e38f34effc00179e849dee0dc2e2263d3a.

Handle wext message detection using the IFLA_WIRELESS type
because the ifinfomsg ifi_change field is reserved for future
use and code using it for wext detection has been removed.
client: Fix AutoConnect configuration

Changing the AutoConnect setting via connmanctl does not work, due to the
mistaken use of || instead of &&.

This patch fixes the issue, and tries to make things a little more readable.
AUTHORS: Mention Johannes' and Justin's contributions
client: Show ready and online state correctly
inet: Add function to check if IPv6 is supported by kernel
ipconfig: Set default IPv6 method according to kernel IPv6 support

If kernel does not support IPv6, then turn default ipconfig
method OFF. If kernel supports IPv6, then the default is AUTO
meaning that we try to send router solicitation messages.
dnsproxy: Set recipient address when sending msg to DNS server

There has been cases where send() is returning EINVAL even though
there is a connected the socket. So use sendto() instead and supply
the destination address when sending.
dnsproxy: Remove AI_PASSIVE for connected socket

The AI_PASSIVE is useless here because the server address
is always known.
resolver: Do not touch IPv4 servers in redo case

The name server refresh should be only done for IPv6
nameservers.
resolver: Make sure we do not use already removed timer
build: Add manual pages for connman and config file
README: Mention readline and command line client disable switch
manager: Manage properly the pending message for session mode
session: Remove AvoidHandover documentation

The AvoidHandover boolean was there to fine tune the selection
algorithm in ConnMan. It was never implemented. Let's get rid
for the time beeing. If there is a real need for it we should
implemented this setting through the configuration plugin.
session: Remove AvoidHandover implementation
unit: Update session unit test to API changes
session: Check D-Bus argumets for Changed method
session: No need to free NULL list
session: Rename session_config to session_policy