[RFC] Re-write the module transpiler with support for bindings.

@wycats @thomasboyt @joliss @guybedford @stefanpenner @trek 

This is an RFC for a reimplementation of the module transpiler that supports cycles and bindings. The architecture is pluggable so that custom formatters and resolvers can be provided. There are two types of bundled formatters in this rewrite: CommonJS, which is a 1-1 file mapping, and the bundled formats, which take N files and output a single bundle, similar to browserify. These are called "module-variable" and "export-variable".

This commit removes support for AMD, YUI, and globals formats. These formats can be implemented as plugins. AMD should perhaps be included in core - I don't really know.

There are still a bunch of things to do:

- [ ] Update README.
- [ ] Update CHANGELOG.
- [ ] Update TRANSITION.
- [ ] Should the bundle formats be included in core? Or are they a separate project?
- [ ] Add any missing tests from the original implementation.
- [ ] Decide what to do about node interop (#86)
I wouldn't have expected this to be a hot path. Is it deoptimizing some other part of the code? Also, I'm not sure how to achieve a friendly error message without this.