move memorycard handling to its own class
first implementation of memcard from directory, creates a memory card from USERDIR/GC/<REGION>/Card <A/B>

Savestates include the entire memorycard, but the only saves that should be modified are the ones that are directly modified by the game the others are preserved merely to avoid changing the memory card header during the game as some games (Zelda) refuse to save

Implement DMA r/w for memcard.
Skips programming buffer for writes

Add a migration feature that auto imports all saves from your default memcard to the new memcard dir if it doesn't exist.

Actually "delete" save files by renaming to s/*.gci/*.gci.deleted/
Merge pull request #243 from LPFaint99/memcard

Add the option to use a folder of gamecube saves instead of a memcard image [issue 6599]
Allow user to quit app with back button.
Merge pull request #529 from sigmabeta/quit-app-with-back

Allow user to quit Android app with back button.
Merge pull request #530 from workhorsy/master

Fixed issue with DSP Dump not closing files.
Store ini sections in a std::list (rather than vector) to prevent unexpected pointer invalidation with use of GetOrCreateSection.
Merge pull request #534 from jordan-woyak/ini-file-fix

Store ini sections in a std::list to prevent pointer invalidation.