Allow changing of language preference from profile page

This adds profile API functions for handling the fetching and updating of user preferences, a language selection form to the profile page, new JS to process the form's submission, and modifies the profile views to handle this new functionality. Also includes a handful of small tweaks to make things more consistent.

@wedaly and @dianakhuang, could you review this?
I think this docstring could be a little clearer about what exactly gets returned:

1) Make `Language` a top-level declaration in this module, then refer to it in the docstring (e.g. "a list of `Language` tuples")
2) Add an `Example` to the docstring, like here: https://github.com/edx/edx-ora2/blob/master/openassessment/assessment/api/ai.py#L183-L192