Test out a version of the CommonJS formatter that outputs ES3.
Disallow updating exports since this version does not have bindings.
Use a computed string property since 'default' is not allowed in ES3.
Remove Object.seal() since we have static checking.
Allow export reassignment.
Split exports into early and late exports.

Function declarations can be exported early because their definitions are hoisted to the top of the scope. This allows for immediately-invoked imported functions in cyclic modules to work.
Simplify `buildEarlyExports`.

- Factor out common looping logic for early and late exports.
- Simplify determining the expression to assign to the export for early exports (it is always the function name).
Merge branch 'es3-commonjs'

* es3-commonjs:
  Simplify `buildEarlyExports`.
  Split exports into early and late exports.
  Allow export reassignment.
  Remove Object.seal() since we have static checking.
  Use a computed string property since 'default' is not allowed in ES3.
  Disallow updating exports since this version does not have bindings.
  Test out a version of the CommonJS formatter that outputs ES3.
v0.8.0
Update the CHANGELOG.