[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.
> This nested use of require seems odd to me. Why can't it just have the two dependencies?

We cannot do that, because requirejs do not preserve the order of execution of the dependencies. We need to make sure that `js/pages/common_deps` performed before `js/pages/base` (`js/pages/base` uses `jquery`, that is a part of `js/pages/common_deps`). That's why we are using such a construction.