[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)
My perspective on this is that we need to lower the complexity of using the transpiler, and for that, a warning is just enough so they can learn the basics and then peel out the layers for more advanced use cases like a more restrictive build.