Fix SOAC aliasing in type checker.
Fix SOAC aliasing in type checker.

The rules are that the result of a SOAC do not alias the input array,
unless the function return value does.

mrakgr/futhark,HIPERFIT/futhark,diku-dk/futhark,ihc/futhark,ihc/futhark,ihc/futhark,diku-dk/futhark,diku-dk/futhark,HIPERFIT/futhark,CulpaBS/wbBach,mrakgr/futhark,diku-dk/futhark,HIPERFIT/futhark,diku-dk/futhark,mrakgr/futhark