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.
Merge pull request #15 from XhmikosR/master

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

Memory Squeezing: LCMS2: CLUTElemDup
remove duplicate variable assignments
testbed/testcms2.c: fix possible null pointer dereferences.
utils/jpgicc/iccjpeg.c: add comment about uint checked to be less than zero.