Add bidirectional_shortest_path with tests and refactor existing shortest path tests.
Upgrade Catch to build 23.