In #759 and #937, the language selector posts to module=LanguagesManager, which appears odd if/when it appears in the address bar.
The selector's form action should depend on the context or be configurable.
Just to confirm, all the logic to deal with saving preferred language in session, etc. shoudl be done inside the API (and other modules should be able to statically call this API method in php)
In , fixes #939 - refactor saveLanguage() from Installation and CoreUpdater controllers
Added Piwik_LanguagesManager_API::getLanguageForSession() and setLanguageForSession()