PlatformPropsImpl: Add static class OSXVersion w/ selected OSX VersionNumbers
Fix Bug 871 - Add optional xcode.clang support for all modules (Extends Bug 837 w/ xcode's xcrun)

Bump make/lib/cpptasks.jar to a65cc99054a5a6684784bf9a9e8c13fe866b81ad

make/lib/gluegen-clang.properties: Defaults to xcode.clang

make/jogamp-env.xml: Show env. SDKROOT
Use org.junit.Assert instead of deprecated junit.framework.Assert
TempJarCache: Make 'initialization' query/flag thread safe, i.e. synchronize if !isInit (dbl-check locking)

- isInit must be set to 'true' _after_ actual initialization, so caller can be blocked until done
- staticInitError must be volatile as well
Bug 871 - Add optional xcode.clang support for all modules: Fix 'isCLANG' detection ; echo 'gcc.compat.compiler'
Bump to 2.1.2-devel (Commit 55cc188f0f076a046d05a49c1c82bb90ba545117 missed to incr. sub-minor)
Bug 754 - JarUtil: Add method to generate resource URI from class's Jar URI and resource name (Remove Ubuntu fonts from jogl-all.jar, provide it separately to reduce footprint for the masses.)
Bug 881 - Add 'Application-Name' in Jar's manifest to avoid Java6 NPEs ..
Bump 2.1.2 Release ..
Release 2.1.2 (Android 0914017)

Note: We are not quite done yet - but preparing 2.1.2 build now.
Bump to 2.2.0 RC/Devel ..
Bump (back) to 2.1.3 - devel (Postpone 2.2.0 track until important bugs and issues are fixed)
Add generic 'check-glibc.sh' script / rename old script
Use 'gluegen-clang.properties' for generic clang and 'gluegen-xcode_clang.properties' for OSX xcode-clang ; Add GNU/Linux LLVM/clang build scripts

Use 'gluegen-clang.properties' for generic clang and 'gluegen-xcode_clang.properties' for OSX xcode-clang.

Add GNU/Linux LLVM/clang build scripts
glibc-compat-symbols.h: Use GLIBC_2.0 for 32bit ; Use asm(..) instead of __asm__(..) to support clang ; Branch on OS predef-macro for GLIBC detection, allow __GNUC__ and __clang__ on __linux__
JarUtil: Use common strings for exceptions (same as used in IOUtil)
IOUtil/JarUtil: DEBUG output on stderr not stdout
IOUtil: Add comments to slashify args @ caller; Use validated File @ IOUtil.toURISimple ; DEBUG: stdout -> stderr

Add comments to slashify(..) arguments for better documentation.

+++

Use validated File @ IOUtil.toURISimple(..):
    slashify(file, true, isDirectory)
to
    slashify(new File(path).getAbsolutePath(), true, isDirectory)

i.e. same w/ above variant and determine absolute path via File instance.

+++

DEBUG: stdout -> stderr
JARUtil/IOUtil: Reuse IOUtil.JAR_SCHEME_SEPARATOR (now a char); Add DEBUG to JarUtil.getJarEntry(..)
IOUtil.toURL(..) Apply decodeFromURI(uri.getPath()) if file-scheme; Add IOUtil.decodeURIToFilePath(..) for native usage.

Refine comments, API doc.

toURL(..): Apply space conversion, decodeFromURI(..), on file-scheme path,
           ensuring decoded space.

++

Add decodeURIToFilePath(String uriPath) and decodeURIToFilePath(URI uri)

Both methods shall simplify decoding a file-URI for native platform usage.

Tested in TestIOUtilURIHandling

+++