Intermediate revised Type.java edit before reducing
Reducing Type's equals
ProcAddressEmitter: Remove 'guessing' argument names from types, since they are ambiguous - better use default generic ones to avoid confusion.
gluegen: generics annotations for various ArrayList/List use

- Use the copy constructor rather than ArrayList.clone()
- constrain listsEqual  so the compiler will warn about comparing lists of different types

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
gluegen: remove two fast-path tests that can never trigger

ignores and unimplemented are both Set<Pattern>, they cannot contain a String,
immediately after these 'fast paths' we loop over the patterns calling .matches()
which makes sense, so remove the misleading tests.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
gluegen: replace Thread name with name of lock file in SingletonInstanceFileLock error message

The getName() call here is currently calling Thread.getName() inherited by the
anonymous inner class.  This is ambiguous, and likely meant to call the getName()
method of SingletonInstanceFileLock, which would output the lockfile name.

In any event, infoPrefix() is already adding the Thread name for us.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Buffers: Add normalized put methods, i.e. incl. value range conversion; New util. ValueConv for primitive type value conversion
Merge remote-tracking branch 'hharrison/RFC'
Minor revert of clone replacement w/ copt-ctor of commit d7fb6a7bcfbd2d5ac452abdcdd31fb4d71441c70

clone of ArrayList is more shallow than it's clone operation (?)
Fix Buffers.copy<Type>Buffer[asByteBuffer](..): Reset position of the passed buffer (was missing).

This is an API regression as introduced in commit 25cc744f6bd5ca97e0ae58fa7e1c35f7b0f3046d
where JOGL's BufferUtil and GlueGen's were merged and API doc elaborated.
The latter states the desired fact that the source passed buffer's position shall remain
unchanged, however no code was added to take care of this detail.
Revert "Minor revert of clone replacement w/ copt-ctor of commit d7fb6a7bcfbd2d5ac452abdcdd31fb4d71441c70"

This reverts commit 73e8828566404e864170688dfb4fd530a83f8add.

Convinced after discussing semantics w/ Harvey Harrison:

"the copy-constructor is way for predictable (as in branch-predictable)
and has better cache behavior, it can issue almost all the writes in
parallel, and has no exception catching.

So, the copy-constructor actually ends up being more efficient, and
you get typechecking to boot."
Fix VersionNumber: Non digits cut off pattern was '\D.*' and cut off digits in case leading non digits appear.

'\D.*' matches a leading non-digit and then any character.

First the string is tokenized by delim:
  "OpenGL ES GLSL ES 1.0.16" -> "OpenGL ES GLSL ES 1", "0", "16"

Enhance pattern as follows and access collected group if matching:
        // group1: \D* == leading non digits, optional
        // group2: \d* == digits
        // group3: .*  == any pending chars, optional
        final java.util.regex.Pattern nonDigitsCutOff = java.util.regex.Pattern.compile("(\\D*)(\\d*)(.*)");

Reorganized storage from atomic values to int[3] array, allowing simple pattern matching loop.

Added unit test.
VersionNumber: Remove printing Exception (was added for debugging purposes)
VersionNumber: Add API doc for string parsing
VersionNumber: API doc fix
Fix Bug 608: Push down TempJarCache.findLibrary(..) from JNILibLoaderBase.loadLibraryInternal() to NativeLibrary.findLibrary(..)

This allows using TempJarCache (if used/initialized) for native 'tool' libraries as well.
This is the case of JOAL's attempt to load the provided 'libopenal.so'
Adding com.jogamp.common.util.IntBitfield: Simple bitfield holder class using an int[] storage.

IntBitfield comes in handy to store bit states of a wide value range w/o being a memory hog an O(1) access,
e.g. keyCode -> isPressed maps etc.
IntBitfield: Add API doc; Enhance put() method, return previous value to be used more versatile and write only if value changed.
IntIntHashMap: Add privileged for 'getDeclaredMethod(..)'; Add StringBuilder toString(..); Add more generics coding.
Android Launcher: Fix ClassLoaderUtil's JNI lib-path determination, use ApplicationInfo's nativeLibraryDir (API level 9).

On Android > 4.0.3 (maybe even earlier), w/ a split filesystem (internal and SDCARD)
the JNI libs maybe stored at a different location than it's data path.
ApplicationInfo's nativeLibraryDir properly determines the JNI storage location, hence use it.

Prev. code also derived JNI lib path by the launcher's ApplicationInfo's nativeLibraryDir,
which might be different than the user package's nativeLibraryDir.
This is especially true, since the launcher may not hold any native libraries.