Don't accept broken locales, and error if default_locale is invalid (bug 941075)

https://bugzilla.mozilla.org/show_bug.cgi?id=941075

This helps prevent "nameless" apps in zamboni. Relevant testmanifests (test with your browser language set to something else than english when submitting for maximum breakage):
- http://brokenptbr.testmanifest.com/
- http://brokendefaultlocale.testmanifest.com/
- http://unsupportedlocale.testmanifest.com/
I'm not normally one to advocate for less tests but it's tested that either of these on their own is invalid, is it worth testing that they're invalid together?