Reimplemented ExecutableNode::Task comparison functions and member access.

All members are now private, with public accessors to the const values. The hash is defined at construction by the node's executionHash, and Operator == and < use the hash directly.

Fixes #865.