Store compiled exams by locale; language parameter for preview and embed
Store compiled exams by locale; language parameter for preview and embed

Compiled objects are stored under a directory corresponding to the
locale used, so you're guaranteed to see an item in the locale you're
using, instead of potentially the locale of the last person to trigger a
compilation.

All views extending CompileObject (preview, embed and zip) accept a
'language' parameter, to specify the locale to use. For example,
/question/1/my-question/embed/?language=fr-FR will show question 1 in
French.

fixes #539

numbas/editor,numbas/editor,numbas/editor