Protect JIT Code cache modifications with version check

Required since the JIT CC is asyncronously reset from threads running GC.

Change-Id: Ibc26d33c00c3beab13043838ffe28474d0458bd3
getClasses returns protected inner class

In case of inner class, check the annotation with flag in it.

Change-Id: I5b055d0fd2654c4cbaee143547f815cf0ddc5b10
Signed-off-by: You Kim <you.kim72@gmail.com>

Conflicts:
	vm/native/java_lang_Class.cpp
Dalvik: Better compatibility with different compilers

This fixes building with clang 3.4, and possibly future versions of gcc:
- Don't error out on unused functions generated by gen-mterp.py even
  when we're using -Werror
- Eliminate some dead code (Word/kWordSize definition) clang warns about

In order to avoid the need for -Wno-error=unused-function, gen-mterp.py
would have to be a lot smarter than it currently is.

Currently, it copies all code from header.cpp and then adds CPU specific
routines.

The code in header.cpp defines all sorts of functions that may or may
not be used by the CPU specific routines, depending on whether or not
the CPU specific bits have a better implementation available.

To fix this without -Wno-error=unused-functions, gen-mterp.py would have
to actually read the CPU specific bits and based on that throw out parts
of header.cpp that aren't needed.

This seems to be too much effort to just avoid having a couple of unused
functions in the code that can be thrown out at compile time anyway,
especially since this is in dalvik which will likely not see another
major revision.

Change-Id: I2874c6f05186721636518e422b0f39a3d8e731cd
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>