1 millon * improvement to isomorphism

Much better isomorphism implementation with lazy data structures and better algorithm. Can fail if complexity of calculation is too big, and that is user settable.
It's already a big file. This could go in its own file.