CMake 3.0 compatibility:

CMAKE_CXX_COMPILER_ID may be "AppleClang" rather than "Clang" if it's the
separately versioned Apple variety on OSX. Make the test robust to either
by using MATCHES instead of STREQUAL.
Bug fix in instance merging -- differing lockgeom should invalidate merge.

We try to merge multiple identical copies of instances within a shading
network by elaborately checking if all their parameters and connections
are different. But we overlooked one factor: if the corresponding
parameters in the two instances were delcared with DIFFERENT lockgeom
overrides.  This could cause confusion for sure, because under such
circumstances, the parameters don't mean the same thing in the two
instances (one will search for userdata/primvars, the other will not).
Optimizer bug fix: outparam_assign_elision was overly aggressive when
the output param in question was a renderer output (and thus HAD to
perform the assignment to put the value in the right place).