Modularized and fixed

Seperated classes from one header file(Courier.h) to Path.h/Path.cpp and
Paths.h/Paths.cpp;
Fixed the main algorithm: it should now always find the shortest path
given the right arguments.