more reliable integration of Android NDK build files into external/Makefile

Now the build target for SDK, NDK, and external/Makefile are all set from
AndroidManifest.xml.

refs #1630
make compile error whenever there is a security issue with formats

-Wformat -Werror=format-security
add Posix.symlink() for making symlinks with needing `ln -s`

We have no guarantee that `ln -s` will be included in all Android distros,
but since most provide `ln -s`, I think we can be resonably sure that the
libc everywhere will include symlink().

Its also really a pain to run shell commands in Java for simple things like
this.
`make gitclean` should not delete files that are committed into git