Fix language negotiations

This fixes what 59d0765841837ca641cd1cc69d3349d6e8d077fd intended to
fix.

Babel language negotiation can only compare language codes using the
same separator. As we use underscores and browsers send dashes, we now
convert our static list to use dashes as well for the negotiation.

The previous "fix" of adding {'pt':'pt_BR'} as locale alias actually
replaced the original babel alias dict and therefore only had the
intended effect by accident and only Portuguese survived the negotiation
process! The next commit makes proper use of the LOCALE_ALIASES keyword
argument.
Show pt_BR if pt is requested

As we only have Brazilian Portuguese, we show that when Portuguese (pt)
is requested.
Merge pull request #895 from nidico/feature-fix-language-negotiation

Feature fix language negotiation