#i123865# fix typo in i18n_xkb's constructor
#i123859# avoid incomplete Locale class as return value

Some static Locale methods used the Locale class as return value type while it was
still incompletely defined. Most compilers allow this, but in general C++ doesn't
require them to do so. Using a const reference as return value solves this, improves
the C++ compliance and avoids unneeded copy constructions.