Optimised Expression::hash().

By storing the context names rather than querying them, we avoid having to enter python in Expression::hash(). In a test case generating a scene with 100 CustomAttributes nodes each with a python expression connected, this gives a 23% reduction in initial traversal time, and a 65% reduction in traversal time once the scene is in the ValuePlug cache.

Fixes #1034.
Removed unnecessary InternedString construction from Expression node.

This knocks 6% off the runtime when traversing a cached scene generated by 100 CustomAttributes nodes each with expressions.
Merge pull request #1041 from johnhaddon/expressionHash

Expression optimisations