Modified path-finding behaviour

- Allow travel by stairs/escalators before boarding elevator. [MapSearchNode.cpp]
- No more than 1 elevator allowed throughout the journey if stairs/escalators are used as well. [MapSearchNode.cpp]
- No transfer between elevators allowed except on sky lobby floors (presence of sky lobby not checked yet). [MapSearchNode.cpp]
- Separate path-finding into normal and service route search. [MapSearchNode.cpp, Game.cpp, Game.h, GameMap.cpp, MapNode.cpp, MapNode.h, MapSearchNode.h, PathFinder.cpp, PathFinder.h]
- Removed redundant checks in transport transfer limit-checks. [MapSearchNode.cpp]

Bugfixes
--------
- Prevent dereferencing of end iterator during floor rendering (worked fine in Release mode, crashed in Debug Mode with MSVC). [Floor.cpp]