API Improvements

Cleans up some of the core API and how it was implemented.

- JS exceptions now log source information so they're more useful
- log is now console.log, with info and warn aliases.
- Add RSVP.js for full promise support and regenerator to backport generators
- Re-implement request library. Core modules or functionality should now implement the RPJSCoreModule protocol, optionally with a JS module file. Requests has a module file because it makes sense there, but Timers doesn't because in other (browser, Node.js) environments the functions are global.
- remove EventEmitter and lodash, they can be included in specific projects that use them