use r.js proper rather than amd-optimize (bug 1092718, 1078093)

using rjs is so much easier and powerful. It's Gulp's recommended way to build require projects. At first I went with gulp-requirejs which was a bad idea since it was blacklisted and didn't mesh gulp+rjs well. Then I went with amd-optimize which doesn't have enough features. So rjs does everything for us.

- Handles including modules like almond without concatting
- Allows an insertRequire so we don't need init.js
- Handles source maps easily
- Removes views/tests easily while stubbing, reducing our include.js size by a tiny bit
Some of the options take objects. I was overriding uglify2, but found I didn't need to.

But we use node.extend in config.js where we do need deep extends, so we have it installed anyways.