Memory Squeezing: LCMS2: CLUTElemDup

Check for allocation failures and tidy up if found.
Memory squeezing fix: lcms2 cmsPipeline construction

When creating a new pipeline, lcms would often try to allocate a stage
and pass it to cmsPipelineInsertStage without checking whether the
allocation succeeded. cmsPipelineInsertStage would then assert (or crash)
if it had not.

The fix here is to change cmsPipelineInsertStage to check and return
an error value. All calling code is then checked to test this return
value and cope.
Memory squeezing: LCMS2: BuildGrayInputMatrixPipeline leak

Avoid leak in allocation failure case.
Get rid of dead code
Added check of BPC suitability
Some fixes on V2 LUT
utils/transicc/transicc.c: Fix incorrect logical operator
utils/jpgicc/jpgicc.c: Fix fprintf parameter number
Update gitignore with VS2010 files
fix wrong sprintf type field character (signed vs unsigned)
lcms2.sln: enable Release x64 configuration for the projects
testbed/testcms2.c: fix double to float warnings
testbed/testcms2.c: remove duplicate expression
Merge pull request #15 from XhmikosR/master

Outstanding contribution. Many thanks!
Merge pull request #14 from robinwatts/memsqueeze_fixes

Memory Squeezing: LCMS2: CLUTElemDup
Consolidated changes
Added Lab16 TIFF handling
Added TIFF16 Lab
remove duplicate variable assignments
testbed/testcms2.c: fix possible null pointer dereferences.