JNI: Initial commit of C wrapper functions

If the user runs "configure --with-java", a separate library is built
with Java native interface stubs and it can be loaded with:

    System.loadLibrary("openconnect-wrapper");

On a native build, it should autodetect the jni.h location by looking at
JAVA_HOME or the path to javac.  On a cross build,
--with-java=/java_home/include must be explicitly specified.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
JNI: Initial commit of Java library + example program

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
android: Bump gmp up to version 5.1.2

binutils 2.23.2, which is part of the arm-linux-androideabi-4.8
toolchain in NDK r9, fails to compile gmp without the following
workaround from v5.1.2:

    * mpn/arm/udiv.asm: Change spacing to work around binutils bug.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
android: Enable JNI in build

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
android: Add libstoken to build

This was tested with NDK release r8e on ARM (on a real device) and
x86 (compile only).

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
android: Add liboath to build

Compile-tested with NDK r9:

    make NDK=/opt/android-ndk-r9 GCCVER=4.8

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
android: Honor $TMPDIR when writing CSD script

Android doesn't have /tmp, so honor $TMPDIR if the caller sets it to
an alternate location.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
auth: Send an extra initial_req if an authgroup dropdown is present

In XML POST mode, the server will often refuse to take authgroup changes
in the same POST operation as the login credentials[1].  Instead, an
extra xmlpost_initial_req operation is needed to specify which group to
use, and then the server will re-render a new login form with a new
<opaque> section.

So, if XML POST mode is being used, and an authgroup selection is
required, first present the user with a form that only shows the
authgroup options.  After that is submitted (generating the new
initial_req and updating the <opaque> data), prompt for the login and
password as usual.

This won't affect non-XML-POST servers so it should not break anything
that works today.

[1] http://lists.infradead.org/pipermail/openconnect-devel/2013-June/001081.html

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