Correctly handle string table names with fallback langs

In the case of dialect locales like es-MX (with a language list like "es_MX", "es-MX", "es", "English") the old code had two interrelated problems:
* It assumed that the language code used to determine the pluralization rule (in the example, "es") would be the same one used to select the string table localization, which does not make sense.
* By using the same variable for the string table name and the resolved path, it ended up passing absolute paths to `[self pathForResource:...]`, which returned nil on the second iteration.