Rewrite l10n

I split `OC_L10N::findLanguage()` into `OC_L10N::findAvailableLanguages()` , `OC_L10N::checkPreferenceLanguage()` , `OC_Request::parseAcceptLanguage()` and wrote tests for those functions.

But I don't know how to set up user preference settings during testing, so I haven't written tests that need to read user preference.