Refactor game file loader strategy code into new file, GameFileLoader.cpp
[bson] Add latest snapshot of BSON C implementation from https://github.com/jsbattig/mongo-c-driver (0cf8eb696 on 2012-10-04)

mongodb/mongo-c-driver is the official repo. jsbattig/mongo-c-driver is branched from mongodb/mongo-c-driver and contains bug fixes and VS project files.

Fixes to compile on Linux.

Thanks to ryanroth for Linux compile 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.
[savestates] Added new Save State Manager dialog window