Graph isomorphism now for labeled graphs!

We can now pass a scoring function to the graph isomorphism
function. Vertices are the scored first by degree and then by the
score returned from the scoring function.

The initial state of the search tree was also change to contain
a non-trivial partitioning base on vertex degree and score from
scroring function. Vertices of degree 0 are automatically combined
in orbits according to score. They are also each wrapped in their
own cell, and these cells are never added to the set of shatterers.

This last change for vertices of degree 0 considerably reduces
the search tree for graphs with isolated vertices. These sometime
appear in chemical applications in the form of salts.