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
but there's node code in the bower repo. so that complicates things. right?

I realise you wouldn't necessary want to `npm install` all of these dependencies below, since they're not used in this repo. but I'm unsure of what's the best practice in this case (besides not use bower like this).