More robust language tag matching

Deal with languages, not locales
Treat language tags are case-insensitive
Support Accept-Language HTTP header
Remove plural package and move functionality inside language package

Issue #9