refactor translations code

- seperate into its own file
- one class per translation strategy
add select-known translation strategy

selectively adds translations when needed instead of dumping them all
also uses version 2 translations (tyler's)
Merge pull request #1179 from dimagi/better-translation-option

Refactor app strings into separate file; add better translation option (beta)