Re-write the module transpiler with support for bindings.

This commit removes support for AMD, YUI, and globals formats. These formats can be implemented as plugins. AMD should perhaps be included in core, but we'll see.
Remove `enumerable: false` since it is the default.
Fix the usage message for bad options.
Ensure that all imports and exports are read before rewriting.
Add some error messages when finding formatters or resolvers goes wrong.
Fix a spacing issue with the error message.
Fix requiring a resolver class.
Update to ast-util v0.1.2 to fix a reference identifier issue.
Add support for `module foo from 'foo'`.
Fix a typo.
Ensure that importing with `module from` works with chained exports.
Ensure the error message is printed for test exceptions.
Handle default exports with `module from` imports.
Make memoized attributes writable forever.
Set the name of modules in a container to a unique value.

This ensures that modules with the same basename, e.g. "utils", will not collide.
Make `this` inside a concatenated module the global object.

Per http://esdiscuss.org/topic/this-if-the-global-object-is-not-in-the-scope-chain.
Print the error message only once.
Export the built-in formatters and remove the useless `makeContainer`.
Stop using removed export.
Throw an error when imports do not have matching exports.