Enable RequireJS optimizer for combined login/registration page

Cleaned up version of work from the hackathon.  This PR enables RequireJS optimizer in the LMS, but only on the new combined login/registration page.

Notes:

* To handle JavaScript resources containing a cache-busting MD5 hash, we've added "overrides" of the module names in `main.html`.  This allows us to tell RequireJS: "when you need to load JQuery, load it from `/js/vendor/jquery.min.abcd1234`".  I'm very interested in feedback on this approach: on the one hand, it allows us to cache-bust only when the dependency changes; on the other hand, it complicates dependency management by adding another layer of indirection.

* I had to change the `i18n` endpoint from `jsi18n/` to `i18n.js` so it can be loaded by RequireJS.  This matches the URL name used in Studio.  I've replaced the only occurrence I could find of the old URL with the new one.

* There was some super-shady inline JavaScript for the password reset modal included inline on the page.  I took the safe approach and disabled it only when the `enable_require_js` flag is set to True.  However, I suspect this could be cleaned up more: it's included in `navigation.html`, but I'm pretty sure it's being used only on the old login page.

Authors: @AlasdairSwan @dan-f 
Reviewers: @polesye @andy-armstrong 
I like the 'factory' naming convention that was used in Studio for these classes. I don't think of this as an 'app'.

https://github.com/edx/edx-platform/tree/master/cms/static/js/factories