Fix i18n

Right now **each request alters the global i18n locale**. If you send accept-language headers with one request, all subsequent requests will respond with that language until a different accept-language request is sent (completely unrelated to sessions). The `defaultLocale` config is also not supported by i18n `0.3.5` at all.

This PR upgrades i18n to 0.4.1 which includes `defaultLocale` support, better response method generation and many bugfixes.

Fixes #783