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 (not used yet though)
- 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. See tests for examples.
- remove EventEmitter and lodash, they can be included in specific projects that use them

After these changes the version will need to be bumped to 2.0 since they're breaking.