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.
Merge pull request #324 from dicej/unused

explicitly override UNUSED definition
use prototype for __clear_cache across all linux-arm systems, not just android
Merge pull request #323 from joshuawarner32/ci-flexibility

skip bootimage tests with 'openjdk' but no 'openjdk-src' flags
Merge pull request #325 from joshuawarner32/linux-arm-instr-cache

use prototype for __clear_cache across all linux-arm systems
fix GC safety bug in jvmFillInStackTrace

This fixes spurious Trace test failures with openjdk-src build.
Merge pull request #326 from dicej/gc-jvmfillinstacktrace

fix GC safety bug in jvmFillInStackTrace
don't try to run CMake on Cygwin

We've still got some bugs to work out with CMake on Cygwin, so we
disable it for now.
fix openjdk-src Windows build regression
Merge pull request #328 from dicej/windows

Windows
add avian.Machine.tryNative

This function allows you to call native code such that any
SIGSEGV/SIGBUS/SIGFPE/EXC_ACCESS_VIOLATION/etc. raised by that code is
transformed into a Java exception and thrown by tryNative.  Note that
this effectively results in a longjmp out of whatever function raised
the exception, so any C++ destructors or other cleanup code will not
be run.
Merge pull request #327 from dicej/tryNative

add avian.Machine.tryNative
ensure Thread::flags is always updated atomically

Since this field is sometimes updated from other threads, it is
essential that we always update it atomically.
Merge pull request #329 from dicej/atomic-flags

ensure Thread::flags is always updated atomically