Fallback v2

Thinking about this more.

I think you should not just return the first valid locale. I think this method should be 'filter_valid_locales' returning an array of valid locales. Then the caller can call "first" on the result if they need to.