[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)
Module names are strings. Putting any emphasis interpreting these names as a path seems like the wrong idea. I don't like this proposal, instead I think this should be handled at the resolver level by returning some type of "ignored" module obj.