first pass at cmake + visual studio support
use inline asm for sse detection
fix zlib headers / linking for windows
allow passing flags to ci.sh script
fix macosx arch=i386 process=interpret build
fix ubuntu precise mingw math.h problems
use c++11-conformant _WIN32 test macro
Merge pull request #317 from joshuawarner32/cmake-vs

Get cmake build working with visual studio 2013
fix bootimage lzma build

We were using the length of the uncompressed boot image when
generating the object file, whereas we should have been using the
compressed length.
Merge pull request #318 from dicej/bootimage-lzma

fix bootimage lzma build
fix crash in Posix_getaddrinfo for ProGuarded Android build

Posix_getaddrinfo needs to access fields in libcore.io.StructAddrinfo
via JNI, so we tell ProGuard to preserve them.

This commit also includes a minor indentation tweek in README.md and
removes -fno-rtti from lzma-build-cflags to avoid a warning from GCC.
Merge pull request #319 from dicej/master

fix crash in Posix_getaddrinfo for ProGuarded Android build
fix clang "always true" warning in lzma/main.cpp
Merge pull request #320 from dicej/master

fix clang "always true" warning in lzma/main.cpp
add hashCode and equals methods to java/util/Map

Granted, this is weird - but this is what openjdk does.  Therefore,
some code that is compiled for openjdk (say, protobufs) will treat
calls to Map.hashCode as interface calls instead of virtual calls, as
they would have previously been under avian's classpath.

Also note that this error caused avian to abort in findInterfaceMethod
rather than throw an AbstractMethodError or somesuch - but that's a
problem for another day.
Merge pull request #321 from joshuawarner32/map-hashcode-equals

add hashCode and equals methods to java/util/Map
disable irrelevant openjdk target when openjdk is passed as a flag
Merge pull request #322 from joshuawarner32/ci-flexibility

disable irrelevant openjdk target when openjdk is passed as a flag
skip bootimage tests with 'openjdk' but no 'openjdk-src' flags
explicitly override UNUSED definition

Recent versions of jni.h such as the one provided by Debian Jessie's
OpenJDK define UNUSED in a way that conflicts with our definition and
usage, so we need to explicitly undefine it before redefining it to
avoid compiler noise.