Simpler BFS interface
Support multiple disjoined subgraphs

The idea here is to iterate all disjoined subgraphs at the end of the
PD run, by running a BFS step. In every BFS step, it will give us one
subgraph and internally to this subset, we will run MaxToMin.
Reduce data structures in MaxToMin
Format
Set min number of vertices to run MaxToMin