Updating logic around locale dropdown

We are now looping through persistedLocales rather than the
currentSites.availableLocales. Doing this prevents issues where an
unsaved locale appears in the locale dropdown (which could allow the
user to select an invalid locale)