Merge pull request #43 from drbild/fix-bfs-queue

use O(1) queue during bfs traversal (IntArrayFIFOQueue instead of IntArrayList)
expose depth of nodes after BFS traversal
free memory during graph construction
expose array of nodes
DO NOT MERGE: remove unused codes paths from bfs traverser
DO NOT MERGE: add access to unboxed edge list arrays
DO NOT MERGE: avoid boxing when iterating edges in BFS