Added Breadth First Search, but haven't even compiled it yet, so there are probably bugs.