Make JarUtil work with custom classloaders

Added the ability for users to set a "resolver" in JarUtil
that lets it find resources that are loaded by a custom classloader.
This is needed in OSGi apps (like Eclipse RCP apps), since OSGi
resources do not have simple jar: URLs (they use a custom
protocol called bundleresource:).
Adding Function and FunctionTask extending RunnableTask functionality

Function allows passing arguments and having a return value in contrast to Runnable,
where FunctionTask allows a Function to be invoked and waited for.
Fix FunctionTask's run()/eval(..) return value assignment: Ensure it's done before syncObject.notifyAll() ; Make methods final

Fixes commit b387d012103a02eb7d5eb919306583295ef09a38.
OSX Java6/Java7: Adapt to used JDK (Apple's Java6 or Oracle's Java7)

- Pick-up OSX Java7 locations if setup via ${java.home} and files available
  - host.rt.jar, target.rt.jar
  - java.home.dir
  - java.includes.dir
  - java.includes.dir.platform
  - java.lib.dir.platform

- Remove 'very old' Java4/5 OSX locations
- Remove java.osx.frameworks.dir, since JavaNativeFoundation.h dependencies are removed
Add security checks to resolver methods.
OSX/Java7 darwin/jawt_md.h Workaround ; Disable OSX/i386 if compiled w/ Java7 [1.7 - 2.0]; Valid Java range [1.6 - 2.0].

- OSX/Java7 darwin/jawt_md.h Workaround
  Include JOGL's JNI MacOSX platform headers, since Oracle's Java7 darwin/jawt_md.h
  has X11 dependencies and does not define JAWT_SurfaceLayers.

- Disable OSX/i386 if compiled w/ Java7 [1.7 - 2.0]
  Set macosx32 depending on 'ant.java.version'

- Valid Java range [1.6 - 2.0]
  Foresee new Java versions 1.9 and 2.0 :)
Add property 'jvmJava.exe' -> ${java.home}/bin/java, default jvm for unit tests; Add optional property 'jvmJava7.exe' for Java7 unit tests.
Only evn. JUNIT_DISABLED==true -> junit.is.disabled:=true
Merge remote-tracking branch 'wwalker/bug_687_jar_resolver'
Minor edits to JarUtil.Resolver functionality: Exception types, avoiding duplicate processing of strings etc.
Promote AWTEDTExecutor to public package com.jogamp.common.util.awt ; Exclude java.part.awt in android gluegen-rt.
Unit Tests: OSX/Java7 w/o 32bit tests ; Reliable Test1p*JavaEmitter JNI binding initialization

- OSX/Java7 w/o 32bit tests

  OSX/Java7 has no 32bit JVM, disable d32 tests for such, using property 'use.macosx32'

- Reliable Test1p*JavaEmitter JNI binding initialization

  Load libs and init JNI binding statically w/ @BeforeClass,
  since OSX/Java7 for some reason gets confused (?) w/ init sequence.
  This is no issue for JOGL etc .. as far we have observed.
Fix Long*HashMap impl. of IntIntHashMap: Better 64bit hash value, using new HashUtil.

Introduce markup: /*keyHash*/(.*)/*keyHash*/ allowing Long*HashMap to inject hash function for 64bit value.
Function- RunnableTask: Add PrintStream 'exceptionOut' argument allowing non blocking exceptions to be shown.

Exceptions occuring on non blocking off-thread tasks shall at least be made visible
while not allowed to crash the system.
Function- RunnableTask: Clear runnableException @ start for re-entry; Fix tExecuted (@ exception); Add debug property 'jogamp.debug.TaskBase.TraceSource', to dump ctor stack trace @ exception.
Fix RecursiveLockImpl* corner case: Timeout reached but lock released -> Assume Lock

If timeout has been reached but the lock has been released, the lock has to be assumed.
Fix intptr_t*, uintptr_t*, ptrdiff_t* and size_t* mapping, map them to PointerBuffer, since referenced memory-size is arch dependent

Added extensive PointerBuffer unit tests w/ new mapping in generated test class.
Fix unit test of commit 1610dbb4e4d1a1ecf31eb837a47e0f5be04afdac: Add native address cleanup (32bit)
Bug 588: Adding jogamp.version property, i.e. 2.0.2-rc-<TIMESTAMP> used for Manifest ; Common jogamp_int_version for Android.

Until 2.0.2 gets released, the version string is 2.0.2-rc-<TIMESTAMP>
and used in the Manifest for IMPLEMENTATION_VERSION.

The previous build version name of IMPLEMENTATION_VERSION
goes into the new tag IMPLEMENTATION_BUILD.

Further more, we use a common jogamp_int_version for Android, to make life more easy.
Move *_base_version to jogamp.version.base: Unifying base version across all core modules