Major rewrite of the path-finding code to obtain speed improvements

- A map of transportation nodes within the tower is now maintained.
- A-Star search algorithm uses this map to find routes around the tower, replacing the original DFS findRoute.
- The game no longer grinds to a halt performing route computations when more transportation is connected/removed.
- It should also scale and perform better with larger maps containing more buildings/transports.

Most of the original transport mechanics are in place:
- Limited number of transfers to stairs/esalators/elevators (see comments in MapSearchNode.cpp for more details).
- Destination further than 80 segments from the last transport will produce an extremely high route score (transport too far away), allowing for further handling in future.

However, it still doesn't check for prescence of sky lobby before changing elevators (to be implemented in future).