Start handling the function f; add support for pure version.
Added Criterion benchmarking stuff.

(TODO: actually have something interesting to benchmark.)
Start using a hash table repr for graphs
Ditch old graph representation, start using pbbs-generated graph
Messing with bf_traverse trying to get types to work out.
Comments, cleanup, nixing unneeded imports, etc.
A few more comments and attempts to make bf_traverse work
LVar BFS: Switch graph representation over to Data.Vector.  More refactoring needed.
LVars BFS: refactor: drop relevant functions out of IO monad.