Use collapse(2) when not building with gcc 4.8.1

See bug #9456.
masks: fix braindead bug that has caused an excessive number of nodes for brush strokes
masks: on deletion of brush nodes: remove complete shape if only one node is left
Silence calculator error messages

People didn't appreciate these:
error: T
error: R
error: U
error: E
exiv: parse FocusDistanceUpper and FocusDistanceLower (specific for Canon) (needs exiv2-0.25)
masks: some further improvements for brush node elimination
Add check for bad 4th channel (alpha) values (0< || >1) to -d nan
Add some memset's
demosaic might receive such output buffer, that was not memset'ed
First 3 channels are ok - they have just been interpolated
So we just need to make sure that 4th channel has reasonable values - let's set it to 0.0f
Force copying alpha from input buffer after LCMS calls
Apparently LCMS puts garbage into 4th channel. FIXME: is there another, better way?
Tune gamutchech - was partially broken by bad alpha in 05a558e474897293f9e36f64eb629687fcebccef