Validate student profile name field, use Backbone.js on the profile page

Changes:
* Validate student profile name field.
* Use Backbone for student profile JS.
* Use the same HTTP endpoint for both reading and updating profile info.

Reviewers: @AlasdairSwan @rlucioni 
FYI: @andy-armstrong 

[ECOM-409](https://openedx.atlassian.net/browse/ECOM-409)
Studio (and LMS on our feature branch) uses the sinon library to make it easier to fake AJAX responses. We then have a helper class called AjaxHelpers to make it easy to do this kind of thing. Here's a typical snippet:

    cohortsView.$('.action-save').click();
    AjaxHelpers.expectRequest(requests, 'POST', '/mock_service/add', 'name=New+Cohort');
    AjaxHelpers.respondWithJson(
           requests,
            {
                  success: true,
                  cohort: { id: 1, name: defaultCohortName }
             }
        );