DynamicDatabase: fixed error restoring values when recreating N:N relationships
[savestates] Savestate changes and fixes

* Fixed: Read correct case of <savestatedatabase> in advancedsettings.xml
* Changed: Update game CRC on observed path change
* Changed: Use file name instead of game data for CRC on large file size (>40MiB)
* Changed: Update game CRC on observed path change
* Refactored: CSavestateDatabase::GetAutoSave()
* Refactor some minor loading code into SavestateDatabase.cpp
[savestates] Rename file extension from .savestate to .sav
[savestates] Cosmetic: rename file extension from .savestate to .sav (GUI commit)