Use last closed ledger for old pathfinding
Rework handling of modified ledger nodes:
* Track dirty nodes in a set
* Make flushDirty a member function
* Don't write deleted nodes
* Make sure new nodes are shareable
* Put new nodes in the treeNodeCache
Keep SHAMapNodes that fault in handling client requests.