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).
add a comment here explaining the states of the nodes in the queue. i.e., when they have not been touched color does not exist for the node and, when they are first enqueued, it should be ENQUEUED and when they have been visited, VISITED