Refactor|libdeng2|ScriptSystem: Separated module finding from import operation
libdeng2|App|Config: Remember the old version when detecting an upgrade

The old version is available as Version.OLD_VERSION.

Also, de::Value now has the as<> template for easy casting.
libdeng2|App|ScriptSystem: Added the native App module

The App module now offers an array called "audienceForGameChange",
where scripts can add functions to be called whenever the game changes.

Note: As games are not yet part of libdeng2, the notification is not
actually executed anywhere.
Fixed|Client|InputSystem: Arguments of the Input.bindEvent script binding
Client: Cleanup
Client: Perform the game change notification for scripts

An important example how to delegate a native Observers notification
to a script function array.
Client: Added the bootstrap script; autobind Tilde for opening taskbar

The bootstrap script is run when the client application is launching.
Its job is to take care of any version upgrade maintenance tasks,
among other script environment bootstrapping.
Client|App: Added the script function App.gamePlugin()

The function returns the identifier of the current game plugin,
determined from the file name of the plugin library.
Client: Revised bootstrap to utilize persistent load hooks

When an upgrade is detected, there is no guarantee that the user is
loading all the games during that particular session of running the
client. Therefore, the upgrade maintenance tasks must be queued for
each game plugin separately, to be run whenever the plugin is later
loaded.

Todo for later: When libdeng2 loads plugins, they can set up their
persistent Config using scripts of their own. For the time being
the libdeng2 Config does the init for them (in a "hardcoded" manner).