Large unreviewable swh-graph refactor
I don't expect this to be entirely reviewed, but it's basically doing this:
- reorganizing a ton of classes in better folders
- inlining classes that are only used at a single place
- replacing wrappers by more idiomatic versions like the Neighbors class
- rewriting the Graph class to avoid passing booleans around on whether to work on the transpose version or not
It simplifies the java api a lot, e.g:
before: algo(graph, useTransposed=True), after: algo(graph.transpose()) (same performance) before: new Neighbors(graph, allowedEdges, id), after: graph.successors(id, allowedEdges)
Test Plan
make test
Migrated from D3878 (view on Phabricator)