Integrate annotation-supported graph traversal
Extend exact seeds through annotated graph paths with Gunnar's resolve/select/traverse implementation from gr/labeled-traversal at d5d26baa. This adds left/right extension, label constraints and switching, coordinate and record support, bounded exploration, graphlet output, and cancellation through metagraph traverse, the existing HTTP server and Python clients.
This PR builds on #672. Traversal and both aligners share oriented-node-to-annotation mapping, and reuse the existing loaders and matrix interfaces. The ordinary search cache is retained. traverse.md documents the interfaces, support semantics and budget limitations. Pattern search and the separate Python graphlet workspace remain separate integrations.
On mex, normalized replies matched Gunnar's frozen executable for fourteen small traversal cases and seven requests against the real RefSeq graph and coordinate annotation with mmap. Header lookup preparation is deferred until traversal is first used: it took about six seconds on that bundle, while ordinary queries avoided it. Warm bidirectional traversal took about 40 ms in this example, comparable to the reference.