Fix language reordering

The key bit is that the Languages need to be stored in an array on a
singleton LanguageList object, so the changes I made were to make it
fetch the existing LanguageList and create a new one only if none were
found, and to make it add newly created Languages to that LanguageList.