improved semantic and some details

- PathFinder objects declaration feels more natural but the counterpart
is that we need to specify what type of nodes we're using in
PathFinder::getPath()
No need to cast anymore though
- std::getchar() to pause execution before exiting
- PathAlgorithms no longer retain start and goal nodes, they have to be
provided directly as parameters
- removed distanceToGoal, broken by precedent (-), and easily replaced
by distanceBetween
updated readme