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]
Updated CMake files to facilitate compilation on Windows.

- Added code for linking to debug libraries for libRocket for Debug projects (otherwise there will be compile errors). Previously I had resorted to manually changing the libraries which were linked in the Debug projects. [FindRocket.cmake]
- Added code for finding mspack library paths (pkg-config doesn't work very well on Windows). [CMakeLists.txt]
- Removed FindCEGUI.cmake since it is no longer required.
Modifications to correct CMake project creation on MSVC.

- Modified CMake files to define DEBUG constants and libraries properly for MSVC. No longer need to manually tweak MSVC projects each time CMake is run. [CMakeLists.txt]
- Properly coded search for tmp directory, for MSPACK to decompress the SimTower executable. [SimTowerLoader.cpp]
Added Restaurant. Fixed bug in path-finder.

- Added Restaurant item. [Restaurant.h, Restaurant.cpp, Factory.cpp]

Bugfixes
--------
- Fixed an error in getting transport item used in path-finding which was introduced in the previous commit on path-finding. [MapSearchNode.cpp]
Added Metro tracks.

- Added Metro track sprite. [Decoration.h, Decoration.cpp]
- Added some explicit type casts (in recently created classes) to remove compile warnings about possible loss of data due to conversion.