Refactor|Client|Server|libdeng2: Current game and audiences moved to de::App

Added de::game::Game as the base class for actual games. The de::game
namespace was used because de::Game is currently in use by the apps.

A null game is now identified by an empty string as the identifier.
Removed the non-OO isNullGame() method (replaced by Game::isNull()).

de::App is responsible for knowing the current Game instance. The
games collection and the concrete game classes remain in the
client/server app.

Added a new audience that gets notified before a game is unloaded.