Add a way for nodes to specify the context in which they run.

This depends on the Op that is in the node and context is optional.
Pass the context to the perform method of nodes that have a context.
Allow None as a valid context.

The NoContext object in graph will serve a "absent context" marker.