Use Backbone for student account and profile JS.

Validate student account and profile form fields. Use RequireJS for Jasmine tests of account and profile JS.

@wedaly and @dianakhuang, could you review this?
I think it's done like this to reflect the way in which the model returns errors when validating attributes. For example, when an email validation error occurs, the model returns an object containing the error: `{attribute: errorMessage}`. They're nested and keyed on the relevant attribute to make them easier to retrieve during testing.