switch semantics of language header and po filename

Only use the language header of a po file as fallback. Using the
language header as primary source seems to be error prone. By switching
to the filename as source, languages can be definition not be ambiguous.
However, we rely on the fact, that the full language name is given as
filename (so it must contain an _). If this is not the case, we try to
guess it from the language header, and provide warnings if this is still
ambiguous. If the filename contains _, it will be preferred, there are no
checks if the language name makes any sense at all.