Refactor|libcommon: Standardize G_Map*() argument interpretation wrt current map
Refactor|libcommon: Switched hu_lib.c to C++
Refactor|libdoom64: Switched d_refresh.c to C++
Refactor|libdoom: Switched st_stuff.c to C++
Refactor|libhexen: Switched hrefresh.c to C++
Refactor|libdoom|libdoom64|libheretic|libhexen: Intermission APIs for all games are now C++ only
libdoom|libdoom64|libheretic|libhexen: Cleanup intermission for all games
libdoom|libdoom64|libheretic: Clarified wbstartstruct_t usage, made const
Refactor|libdoom|libdoom64|libheretic: Intermission now uses URI to reference maps
libcommon: Parse map references in map cycle rules into URIs

Todo for later: We should allow using URIs in such rules.
Fixed|Client: Build error (writing de::String through fprintf)
Refactor|libcommon|libhexen: Moved MAPINFO (lump) parsing to libcommon
Refactor|libcommon|HexLex: HexLex::readUri() now returns de::Uri
Refactor|libcommon: Switched p_tick.c to C++
Refactor|libcommon: Use de::Uri with P_SetupMap() and P_InitSky()

As of this commit, usage of de::Uri's C wrapper API is limited to
communication with Doomsday's public APIs.
Refactor|libcommon: Continued removing gameEpisode, gameMap global variables
Refactor|libdoom|libdoom64|libheretic: Switched p_spec.c to C++
Refactor|libcommon: Removed global variables gameMap, gameEpisode

Also relocated game status cvars "map-id", "map-episode", "map-hub"
into common::GameSession
Refactor|libcommon: Removed G_ValidateMap()

Validating episode and map numbers with this kind of mechanism makes
far too many assumptions about the map progression.

Use P_MapExists() to determine map availability. If no map with the
given URI exists, the caller should determine what is to be done in
any given case.
Refactor|libcommon: Consolidated more map progression selection logics