Added game info tags to XBMC. This is mostly a stop-gap implementation until PyRomInfo (https://github.com/garbear/pyrominfo) is included.

Thanks to fetzerch for fixing a PVR-related crash.
Refactor service starting/stopping using a callback-based interface when enabling/disabling add-ons in the add-on database
XBMC Game binary add-ons
Libretro support for game add-ons
[game clients] Added new Game Client add-ons based on the libretro API.

Thanks to Themaister for rewind functionality, fetzerch for file length check, and topfs2 for fixing a crash on game client load.
[retroplayer] Added RetroPlayer, a new player core that enables game clients to play video and audio.

Thanks to elpendor for RGB565 support, poisson for RAII improvements and ChrisMyhre for catching a compile error.

Conflicts:
	project/VS2010Express/XBMC.vcxproj.filters
[retroplayer] Added keyboard and joystick input handling to RetroPlayer built on the new joystick abstraction layer.
[games] Add new type of add-on, xbmc.addon.game, plugins and scripts that can be run from MyGames window
[games] Add MyGames window to the GUI
[game clients] Add win32 and linux repositories for game client add-ons
[osx/ios/atv2] - sync xcode projects
[python/games] Expose GameInfoTag properties to Python list items.
Add repository for new ROM Collection Browser with "Game Add-on" support
[python] 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.
[python] 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"}})
[joystick] Fix scrolling being detected as a digital action
Reboot joystick API

Includes:
* Don't default input.enablejoystick setting to false on linux
* Default SDL joysticks to no - use the linux joystick api instead
* Fix compile warning (possible bug)
* Prefer linux joystick API over SDL joysticks, and some cosmetics
* Enable joystick manager on startup
* Register joystick manager with CPeripherals

Conflicts:
	project/VS2010Express/XBMC.vcxproj.filters
RetroPlayer work-in-progress

Conflicts:
	project/VS2010Express/XBMC.vcxproj.filters

Rename Game API function AllowVFS() to SupportsVFS(), and remove unused RequireArchive()

Conflicts:
	project/VS2010Express/XBMC.vcxproj.filters

[library.xbmc.libretro] always call Get*() functions

Make game callbacks returning strings return char* that need to be freed with FreeString()

Also fix pixel_format callback returning void instead of bool

Some work in GameClient.h

General game clients cleanup

Remove EnvironmentSetPerformanceLevel() Game API callback (replaced RETRO_ENVIRONMENT_SET_PERFORMANCE_LEVEL)

Make EnvironmentSetSupportNoGame() a Game API call instead of a callback

Also fixes typo with EnvironmentSetPixelFormat()

Return strings of static duration

"Finished" cleaning up GameClient

Removed GameFileLoader.cpp and merged functionality into GameClient.cpp
Compiler fixes

More compile fixes (it compiles now!)