Improved traversers

Added abstract class QueueBasedTraverser holds general logic for most
traversers.
Fixed errors in InfoKeepers.
Added InfoKeeper that uses IntToBoolean fastutil map to store Boolean
values.
Changed BreadthFirstTraverser so that first node is the node we start
traverse from (to be consistent with other traversals).
You're right. 
In DFS we cannot cut the queue when maxSteps is set (because some can be skipped).

I'm also afraid if this is not going to make BFS harder to read.

Maybe call it ColoringBasedQueueTraverser or EnrichedQueueTraverser? To enable subclassing from QueueBasedTraverser that does not need coloring?