Support for establishing and maintaining graph element equivalence (such as in blockmodeling).

In blockmodeling, groups of vertices are clustered together by similarity (as if members of a "block" appearing on the diagonal of the graph's adjacency matrix).

This support currently includes:

- `VertexPartition`: A class that maintains information on a division of the vertices of a graph into disjoint sets.
- `StructurallyEquivalent`: An algorithm that finds sets of vertices that are structurally equivalent.