[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)
this is way to strict. Ideally, we could check if the module can be resolved locally, but if it is not marked as relative (starting with `.`), we should issue a warning instead of throwing an error. This will cover things like:

```
import foo from "./path/to/foo";
import bar from "../path/to/bar";
import React from "react"; // this is not relative, but a top level module
```

in this case, saying that "react" is a non-verified dependency thru a warning should be just enough.

/cc @ericf