smurf: Allow masks to be combined using intersection isntead of union

New params xxx.ZERO_UNION can be set to 0 to cause the intersection of
the requested maps to be used instead of the union.