Clean up shared liberty calculation.
Edges never change groups.
No longer mark liberties with an edge.
IsGameOver() no longer takes vcs into account.
Groups now track edges through adjacency.
Add function to check for vc win.
GeneralizedSaveBridge takes groups into account.