libcommon|SaveSlots: Identify logical save slots with unique string identifiers

Each save slot is referenced with a unique string identifier rather
than a numerical index. This greatly simplifies the SaveSlots API,
facilitates a better OO design and allows for additional slots to be
added at any time.