Fixing the efficiency issue with the prior graph construction code by using a cache to reduce the complexity to linear in size.
Also, `__repr__` now only shows the node ID (for terminal nodes) or the decision ID and the IDs of the low / high branches. Prior implementation hinders debugging sessions when working with large XADD nodes.