We were allowing a (shader) output node to become the current output
(NODE_DO_OUTPUT) on selection regardless of the target render engine
this node specifies.
Now it checks the current render engine and only allows the output node
to be come the current output if it matches the specified target.
This also tweakes the logic in ntreeShaderOutputNode to not force an exact match of output target
With former behavior it was impossible to switch to an output node (with target "ALL")
and see its effects when also another output node (with target "Cycles") was present.
Also the Property Editor would never switch to it.
Also now updates current output node for all nodetrees on render engine change.