Refactored EditMenu to use new scope() method.
Refactored EditMenu to use new scope() method.

The scope() method replaces the old __nodeGraph() and __scriptAndParent() methods, returning everything about the scope of the edit menu operations in a single named tuple. The documentation for the new method points out some node visibility considerations that many menu items may need to take into account. Since we allow config files to add menu items, the new method is public to make this easier to achieve well.

Note that this commit itself doesn't fix any bugs - it just gets us into a position where it's more obvious to see that they exist, and to then fix them.

boberfly/gaffer,appleseedhq/gaffer,ImageEngine/gaffer,lucienfostier/gaffer,ivanimanishi/gaffer,boberfly/gaffer,goddardl/gaffer,hradec/gaffer,goddardl/gaffer,johnhaddon/gaffer,GafferHQ/gaffer,chippey/gaffer,johnhaddon/gaffer,GafferHQ/gaffer,hradec/gaffer,appleseedhq/gaffer,ImageEngine/gaffer,hradec/gaffer,ivanimanishi/gaffer,ivanimanishi/gaffer,GafferHQ/gaffer,goddardl/gaffer,andrewkaufman/gaffer,andrewkaufman/gaffer,appleseedhq/gaffer,johnhaddon/gaffer,ivanimanishi/gaffer,lucienfostier/gaffer,goddardl/gaffer,GafferHQ/gaffer,lucienfostier/gaffer,appleseedhq/gaffer,GafferHQ/gaffer,andrewkaufman/gaffer,hradec/gaffer,andrewkaufman/gaffer,chippey/gaffer,ImageEngine/gaffer,hradec/gaffer,andrewkaufman/gaffer,lucienfostier/gaffer,ImageEngine/gaffer,boberfly/gaffer,johnhaddon/gaffer,johnhaddon/gaffer,chippey/gaffer,boberfly/gaffer,chippey/gaffer