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.
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 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.
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 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.
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.