Implemented A* Search

The application now uses an A* search algorithm to find the
shortest/quickest path between two nodes.