Added Breadth First Search algorithm

This is just a basic breadth first search. It needs to be optimized to
take in a list of parameters to be searched for, and the algorithm will
ensure all conditions are met before returning a node.