Fix OpenCL test failures on Solaris.

Since nobody currently makes an OpenCL driver for Solaris, all the
tests used to fail, which told us nothing. This commit adds code
to check whether OpenCL is unavailable and the OS is Solaris, in
which case the test contents are skipped. If an OpenCL driver ever
appears for Solaris, or if we start testing on another platform
with no OpenCL driver, there's now one single place to add or remove
checks that will allow for this.
Merge pull request #5 from WadeWalker/bug_978_fix_solaris_tests

Fix OpenCL test failures on Solaris for bug 978.
Merge remote-tracking branch 'personal/bug_978_fix_solaris_tests'
Fix new subBufferTest02FloatBuffer() test on Solaris.

The new OpenCL isAvailable() didn't make it into this test due to
a merge slipup.

Change-Id: I049388908b8f2f2869cc018dbf6be86d1a8dcb9d
Merge remote-tracking branch 'jogamporg/master'
Fix C build warnings.

Fixes -fno-rtti and implicit cast warnings. After this commit,
all C warnings are gone except for one due to gluegen emitting
char pointers instead of unsigned char pointers.
Load jocl.properties if present.

This lets us build with debug information turned on.
Pass function pointers into clEnqueueMapImage.

These pointers were showing up as uninitialized variables; on inspection
they just weren't being passed in from the Java side or assigned on
the C side. There are currently no tests of this function, which is how
we didn't notice this omission.
Remove unnamed struct emission warnings.

Uses the new augmentation of gluegen's Ignore keyword.
Remove alignment warning in gluegen preprocessing.

Turns off the warning about CL_ALIGNED not being
defined for the current compiler, but only inside
the gluegen preprocessor. If CL_ALIGNED isn't
defined for the real C compiler on the platform,
the warning will still show up during C compilation.
Remove warnings, turn on linting, fix Eclipse.

Removed warnings due to memoryMaximumSize being ignored when javac isn't
forked. Turned on all linting. Changed the arguments of
uncomment-function-params so it will run from within Eclipse properly
(using basedir instead of user.dir, since only the former will be
properly set both inside Eclipse and on the command line).
Remove Java lint warnings.

Remove all Java lint warnings, by fixing the code if possible, and if
not possible then by inserting @SuppressWarnings. Some of these
@SuppressWarnings can be replaced later with @SafeVarargs if we
eventually drop support for Java 6.
Fix crashes due to AMD driver bugs.

programBinariesTest() failure was due to AMD drivers crashing
in clCreateKernelsInProgram() when the program is not built yet,
instead of returning error code CL_INVALID_PROGRAM_EXECUTABLE as they
should.

lowLevelVectorAddTest() failure was apparently due to the AMD drivers
writing past the end of a direct byte buffer in such a way that it made
System.gc() crash when called during teardown (this crash didn't even
dump stack). Making the buffer larger solved the problem.