[WIP] Add RequireJS Optimizer.

**Ticket:** [TNL-481](https://openedx.atlassian.net/browse/TNL-481)

**sandbox:** http://studio.polesye.m.sandbox.edx.org/
**New Relic Page:** https://rpm.newrelic.com/accounts/88178/browser/4020167/v2_page_views
### Requests count:

Page  | Before | After
------------ | ------------- | -------------
[Dashboard](http://studio.polesye.m.sandbox.edx.org/course/) | 54 | 35
[Outline](http://studio.polesye.m.sandbox.edx.org/course/edX/DemoX/Demo_Course) | 66 | 37
[Container](http://studio.polesye.m.sandbox.edx.org/container/i4x://edX/DemoX/vertical/vertical_98cf62510471) | 114 | 55
[Advanced settings](http://studio.polesye.m.sandbox.edx.org/settings/advanced/edX/DemoX/Demo_Course) | 57 | 35
[Textbooks](http://studio.polesye.m.sandbox.edx.org/textbooks/edX/DemoX/Demo_Course) | 62 | 34

FYI: https://docs.google.com/a/edx.org/document/d/1pIyEaZ_bldy9riaXle0d59D_onJ7I_hISPqG0rhNIj8/edit#heading=h.lgqntoce8jlj

@andy-armstrong , @jimabramson , @cahrens , @auraz please review.
I'm feeling a little uneasy about putting all of these into the pages directory. They really aren't pages in the sense of the other page views that already exist in here. They are more like page factories that are invoked to produce the view (although some of them do more than just create a page view). How about ```js/factories/checklists.js```?

I like the idea of moving them into their own files, though. Even better, it is now possible to write Jasmine tests for this code where it wasn't before. Strangely, the diff coverage does not show that all these new files have no coverage. I wonder why that is. @cahrens, any ideas?