Fix #476 Auto language changing function finished.

Fixes issue#476.
If the user does not have the freeseer.conf file, the function will detect the system location for default language.
If there is a config file, the language setting in that file will have higher priority.
For Chinese, If the location is not zh_CN, Traditional Chinese will be used.
If there is no translation for the system location, English will be used.
What I meant with "stubbing" is what Thanh pointed out, basically returning a fake value. We don't care how `QLocale`'s methods work, we're just interested in having it return predetermined values so we can test our language detection.

It may not be called "stubbing" in Python -- I do my testing in Ruby, and all the terminology may not be the same between the communities.