gluegen: remove executable bit from java and c source files

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
IntBitfield: Add optimization path w/ int bitCount bitfield range. Replace '* 32' -> '<< 5', same for division.
Merge remote-tracking branch 'hharrison/master'
IntBitfield: Add bit-count, O(1) per int-element, using HAKEM.
Bug 715: Adding unit test w/ 'intArrayCopy(int *dest, int *src, int num)' to test array offset working correct.

The 'carray' pointer returned from GetPrimitiveArrayCritical(..) is moved about the array offset
and used in ReleasePrimitiveArrayCritical(..) to release the pinpointed memory.

Even though this 'is' a bug by violating the _sparse_ specification, Hotspot impl. doesn't use the value at all (NOP)
and hence this code didn't produce an error since .. (Same w/ Dalvik).

A followup commit will fix this issue.
Fix Bug 715: Don't modify 'carray' pointer returned from GetPrimitiveArrayCritical(..)

The 'carray' pointer returned from GetPrimitiveArrayCritical(..) was moved about the array offset
and used in ReleasePrimitiveArrayCritical(..) to release the pinpointed memory.

Even though this 'is' a bug by violating the _sparse_ specification, Hotspot impl. doesn't use the value at all (NOP)
and hence this code didn't produce an error since .. (Same w/ Dalvik).

Now the array offset is added while passing the carray pointer to the native function call
and hence is no more modified and the orig. value is passed to ReleasePrimitiveArrayCritical(..).

Tested w/ GlueGen unit tests and all JOGL unit tests (on Linux x64 w/ 'a' hotspot VM).
VersionNumber: Add API doc, use final int values, remove protected 'nop' ctor; Add VersionNumberString [extends VersionNumber] which additionally holds the orig. string value.
make/gluegen-cpptasks-base.xml: Expose evaluated 'isI386' and 'isAMD64' property, allowing to trigger x86_64 -> x86_32 crosscompilation.
build.xml: fix intendations
Add 'glibc-compat-symbols.h' to force usage of minimal GLIBC symbols currently for memcpy only, used in our x86_32 and default gcc toolchain cmake file.

Note: JogAmp's minimum GLIBC is 2.4 due to '__stack_chk_fail' (stack overflow checking)

  GLIBC 2.4 - March 2006  - Standard for LSB 4.0, Used in SLES 10

We could add compile/link option '-fno-stack-protector', however stack protection seems reasonable
and a pre 2006 distribution a bit too 'far fetched' for our multimedia bindings anyway.

+++

Added convenient script 'make/scripts/check-glibc-version.sh' to sort and list GLIBC versions per symbol.

+++

Besides openal-soft (commit 554b34927cd6a2e0c0ce227108ebf8521bcba889),
jogamp modules do not reference any GLIBC symbols > 2.4 per default!

If so, 'glibc-compat-symbols.h' should be included per default!
glibc-compat-symbols.h: Add __arm__ -> GLIBC_2.4 ; default is now GLIBC_2.2.5 // Still minimum required is GLIBC_2.4!
Modify linux-arm scripts for new toolchain (crosstools-ng) ; gluegen-cpptasks-linux-armv6hf.xml: Enable cc-arg '-mfloat-abi=hard' ; Add script make*all.sh
Fix Bug 650: Use toolchain default arch & float options for default arm cc/ld target in make/gluegen-cpptasks-base.xml

Specialized arch & float arm options are defined in
    - lib/gluegen-cpptasks-linux-armv6.xml   (armv5te + softfp), or
    - lib/gluegen-cpptasks-linux-armv6hf.xml (armv6   + hardfp)
make/lib/gluegen-cpptasks-linux-armv6[hf].xml: Set property 'useGCCARMTargetArchAndFloatOptions' indicating ARM arch & float gcc options are desired.
Revert "make/lib/gluegen-cpptasks-linux-armv6[hf].xml: Set property 'useGCCARMTargetArchAndFloatOptions' indicating ARM arch & float gcc options are desired."

This reverts commit 025795f5011b374e5d6a5ab254e9d5a594d83595.

Extra state/property is not required since we can utilize propery 'isCrosscompilation'
Adding scripts to check all JogAmp native ARM libraries ; check-glibc.sh checks all glibc version ..
VersionNumber*: Add static final 'zeroVersion' for convenience and identity.
Buffers: Expose 'getRemainingBytes(Object buffer)'
Buffers: Add 'sizeOfBufferType(Class<?> bufferType)'