Fix regression introduced in r1122 that caused SIMD detection to malfunction for ARM platforms (and probably ARM64 and MIPS as well.)
Oops.  We need to call start_pass() on the color converter in order to allocate the conversion tables used by the plain C code.
Go ahead and call jinit_master_decompress() rather than trying to reproduce its functionality.  That function does a few things that we were missing, including allocating the range limit table used by the plain C color conversion code.
Add a blank line before the alpha-enabled colorspace tests in order to improve readability
Silence valgrind false positives about uninitialized values.  Even with this patch, valgrind still complains about uninitialized values when decompressing or decoding to a buffer with an alpha-enabled colorspace.  Not sure why this happens, but it occurs in libjpeg-turbo 1.3 as well, and only when the x86/x86-64 SIMD code is being used.  It is my belief that these remaining warnings are also false positives, because if the output buffer is memset to all 0's prior to invoking tjDecodeYUV()/tjDecompress(), no errors are reported.  If any of the alpha channel bits were in fact not being initialized, then they would still be 0 after invoking tjDecodeYUV()/tjDecompress(), and TJUnitTest would report an error.
When tjDecodeYUV() is used with a "fresh" decompressor instance (one that hasn't been previously used to decompress a JPEG image), then it needs comps_in_scan, data_precision, and the quantization tables to be defined.  This patch also extends TJUnitTest to check for this error.
Fix additional uninitialized values reported by valgrind
For now, punt on trying to support fancy upsampling in tjDecodeYUV().  Fancy upsampling requires context rows and other refinements, which are difficult to implement correctly with the algorithm we're using.  Longer-term, supporting fancy upsampling would probably require using the main buffer that libjpeg allocates.
Fix the build of the Java classes when using MSVC 2010 and later.  Something in the recesses of my brain is telling me that I tried this before and it failed under some circumstances, but it must have been a bug in an older CMake implementation.  CMake 2.8.8 and later seem to work fine with this patch.  This patch also updates the minimum required version to 2.8.8, because 2.8.8 fixed another issue that was preventing the SIMD code from building under MSVC 2010 and later.
Silence warning in CMake 2.8.12 and later
Fix a segfault that would occur in decompress-only mode if -alloc was specified without -tile.
Since we now have a complete set of YUV functions, TJBench can be greatly simplified.  It now tests YUV encoding/decoding as an intermediate step of JPEG compression/decompression, which eliminates the need for a separate YUV mode.  Several other things have been streamlined in the process.
Fix a couple of output formatting issues
Execute warmup runs with tjTransform() as well
Whitespace tweaks
If we have transformed a 4:2:2 or 4:4:0 image in any way that transposes the horizontal and vertical dimensions, then we need to inform the decompression function that the subsampling type has changed.  Otherwise, tjDecodeYUV() will not produce correct results.
Add a mode to tjbenchtest for testing the YUV encoding/decoding functions
Actually, the issue with nightshot_iso_100 is unrelated to the image size.  Reducing the size to 128x95, the same size as vgl_6548_0026, does not eliminate the problem.  The issue seems to always occur when decompression scaling is enabled.  It is unclear at this point whether this is a bug or expected behavior, but the pixels generated by the split decompression functions appear correct.  They are just slightly different (but not visibly so) from the pixels generated by the monolithic decompression function.
Oops.  This code should not have been removed.  It is necessary for generating the error images.
Formatting tweak