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.
This says it handles `_` ~> `-` but there is [a test](https://github.com/mozilla/app-validator/pull/42/files#diff-1625b7c2b799f165d59fdeeb32fb9334R87) that doesn't allow `_`s.