Allow Python xbmc.Addon objects to be constructed from uninstalled add-ons.

Only getAddonInfo() is available to uninstalled add-on objects. Attempting to get/set settings or location strings will have no effect.
xbmc.Addon.getAddonInfo() can return "extensions" and "platforms" properties for game client add-ons
[JSON-RPC] New parameter for Addons.GetAddons, "uninstalled", to get add-on info from remote repos.

Example:

Addon.GetAddons( { "method": "Addons.GetAddons", "params": { "type": "xbmc.addon.video", "enabled": "uninstalled" } } )
Add default icon for game files.
[bson] Add BSON C implementation, from the MongoDB BSON library

Version is release 0.7.1, 2013-01-07. https://github.com/mongodb/mongo-c-driver
[bson] Added BSON library to Windows and Linux build

Thanks to Ryan Roth for Linux compile fixes and N3MIS15 for VS configuration fixes.
[bson] Identify anonymous structs for forward-declaration
[bson] Added bson parser for Variant and test cases
Added new database abstraction, denormalized database with dynamic normalization for optimal read queries.

Objects are stored in a central table with key/value pairs. When 1:1, 1:N and N:N relationships are declared, data is drawn from the key/value pairs to fill the newly created tables. Data is kept in sync across adds and deletes, as well as when new relations are added/dropped.
[savestates] Added game state persistence built on a new save game database.

RetroPlayer can automatically load previous game state on file open, and 9 slots are available for hotkey-based save state storage.