Fix:Correct number of nodes in connected component.

Previous algorithm, assume we have full graph size of 3. We start from node 0 and add it to stack. Output node 0, put it back to stack with false flag(and add it to tarjan stack) and put to stack nodes 1, 2. Output 2, put it back with false flag(and add it to tarjan stack), also we put into stack 1, because we haven't processed it yet. Current stack 0, false -> 1, true -> 2, false -> 1, true.
As you see from that stack we will put 1 into tarjan stack twice. And current algorithm will output that the size of component is 3.
how about using boost:irange here s.t. NodeID node can be const?