Finished with swig functionality for 64-bit segmented snapworld bfs

The code is currently untested. I left the existing functions
in snapsw.h unchanged except for maybe some name changes (for
the sake of clarity), and I added functions for segmented
functionality, all of which end with the suffix "64".

The next step is to debug / verify correctness by running
the segmented bfs and regular bfs against a toy set, using
the same random seed. The results should be identical.

Most of the new functions are actually relatively
straightforward with the possible exception of
AssignRandomEdges64. This function is well-commented, though.

Some of the existing functions did not need to be replaced
at all since the high-order segment bits can be inferred
from the task number, since certain tasks are responsible
for certain ranges. The segmented functionality is still
evident in the python layer, though, when the high order
bits are taken into account when determining destination
tasks.