Refactor|libcommon: Use a map URI with G_NewGame() and G_DeferredNewGame()

At present the logical episode and map numbers are parsed from the
map URI. In the future the episode should be specified in MAPINFO.
libhexen: Cleanup
libcommon|SaveInfo: Removed unused map() and episode() methods of SaveInfo
libcommon|SaveInfo: Saved games now record the current map as a URI

As the save version number has already been bumped to v14 for the
Doomsday 1.14 release, saved games made with unstable builds 1131,
1132 and 1133 will NOT be loadable.
libcommon: Continued work on remodeling saved game writing/reading

Moved MapStateWriter/MapStateReader into new source files and applied
the pimpl idiom. All map data write/read routines now take pointers
to these classes. Each provides access to any relevant utility funcs
and/or data structures (e.g., MaterialArchive).
libcommon|MapStateWriter: Typo
Documentation|libcommon: Improved apidocs for MapStateWriter, MapStateReader; cleanup
Refactor|libcommon|MapStateWriter|MapStateReader: Better names for some MapStateWriter/Reader methods
libcommon|MapStateReader: Throw a ReadError if a map saved state fails segment alignment check
libcommon|MapStateWriter|MapStateReader: Moved more logic into MapStateWriter/Reader
Refactor|libcommon: Separated saved game thinker info db into new source files
libcommon: Cleanup
Refactor|libdoom: Moved "Boss brain" to new source files
Refactor|libdoom: Translated braindata_t into a simple C++ class named BossBrain
Fixed|Hexen: Build failure (order of includes)

The Map API was not declared as being in use early enough.

Also added a header file missing from common.pri.
Merge remote-tracking branch 'origin/master' into oculus-refactor
Refactor|Stereo 3D: Removed all public member variables of VRConfig

Now the VR configuration cvars are kept in the client, while VRConfig
stores the parameters in use.s