Update supported locales, error if default_locale is invalid (bug 109237)

https://bugzilla.mozilla.org/show_bug.cgi?id=1092379

Like #37, but keeping the `canonicalize()` function to accept invalid locales that we can fix, since they exist in the wild and are automatically corrected by zamboni now.
Yeah, technically `canonicalize()` accepts it, it returns it unaltered, but ultimately we don't because it's not in the languages lists. I'll reword that comment.