Fix #1600 In settings.yml, the secret_key can be written as string or as base64 encoded data using !!binary notation.
Add match_language function in utils to match any user given language code with a list of engine's supported languages. Also add language_aliases dict on each engine to translate standard language codes into the custom codes used by the engine.