Yunus/refactor some old locale related code

@RISCfuture @RickCSong 

- Cleans up some code related to locale changes.
- Runs ProjectTranslationAdder only when locale settings are updated instead of on every update.
- Moves base locale translation object creation to key object from the key_creator worker.

This should slightly improve the speed of shuttle when project settings are updated, and reduce the load by creating a smaller number of background jobs.