VPNProfileList: Use URI text entry consistently for hostname

Currently, editing an existing hostname in a VPN profile uses URI entry,
but adding a new VPN profile uses TYPE_TEXT_FLAG_NO_SUGGESTIONS only.
This results in different keys being available on the touch keyboard,
often replacing the '.com' key with a smiley emoticon in the latter case.

So we will change the input type used in the Add operation to use URI
entry.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
KeepAlive: Fix socket binding across wifi/3G handoffs

On Android 4.4+, the DNS request socket can get bound to a specific
upstream interface instead of the VPN interface.  After a handoff,
sending data traffic to this socket can return EINVAL and log a Java
exception.  Fix this by creating and tearing down the socket every time
we try to send a DNS keepalive.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Update docs to comply with the old BSD advertising clause

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
DeviceStateReceiver: Use consistent defaults for netchangereconnect

This defaulted to true in Settings, but false in the code.  Use true
in both places.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
external: Sync with openconnect rev 9ab2e9b

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
libs: Sync with latest openconnect sources

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>