Refactor GraphSearch class removing static methods

As much lgoic as possible has been removed from main making the class
more readable. The main class now creates an object of GraphSearch which
it uses to read a graph from a file, and then print it out