Storage: optimize fold
This is supposed to address #429 (closed).
Diagnosis: the raw_store fold is supposed to work like ls, but scans LMDB key by key, so it does ls by a depth-first scan of all subpaths, ignoring things which are too deep.
Solution here: when we ignore an entry (say a/x), synthesize the lexicographically next store path after its directory (a |-> b) and skip to the first key from there, instead of advancing the cursor one key at a time (maybe to a/y).
Edited by Tom Jack