Rename language/lang to locale

Language/lang should be renamed to locale, because we are not really dealing with languages here. The same language can be used in different countries, but still have different requirements for date formatting depending on the location.

This is exactly what locales are for - they are a combination of language and location. The current language system actually already uses locales, but they are called languages, which is wrong and may cause confusion.

Of course, this would cause some backwards-incompatibility, so perhaps it makes sense to alias `locale` function to `lang` for some time.