PLAT-4707 - Structure for storing results in a server-neutral way

Positions and trades are keyed on their original ID from the DB dump
Nodes are keyed by their path from the root because their IDs are so
frequently changed they can never be relied on