Example refactoring to eliminate import madness. Adds a "traceur.getModuleForTesting()" method to access traceur-internal modules for testing.

TEST=Existing tests should still pass.
BUG=147

Review URL: https://codereview.appspot.com/6718044
Export individual functions from ParseTreeFactory instead of exporting an object.

BUG=http://code.google.com/p/traceur-compiler/issues/detail?id=144
TEST=Passes all the tests

Review URL: https://codereview.appspot.com/6709046
Allow parameters without initializers after parameters with initializers

This allows writing:

function f(x = 1, y) {
  return y;
{
assertUndefined(f(2));

BUG=http://code.google.com/p/traceur-compiler/issues/detail?id=140
TEST=test/feature/DefaultParameters/Simple.js

Review URL: https://codereview.appspot.com/6719049
Reworks options into the groups discussed on list. Renames "collections" to "trapMemberLookup".

BUG=150
R=arv,johnjbarton
TEST=current tests continue to pass

Review URL: https://codereview.appspot.com/6721053
Make methods enumerable

This has the benefit that the generated code for methods etc gets a lot cleaner.

BUG=https://code.google.com/p/traceur-compiler/issues/detail?id=152
TEST=test/feature/Classes/Method.js
     test/feature/PropertyMethodAssignment/PropertyMethodAssignment.js

Review URL: https://codereview.appspot.com/6737044
Enable classes for self hosting

BUG=None
TEST=NONE

Review URL: https://codereview.appspot.com/6746043
Use more classes in traceur

BUG=None
TEST=None

Review URL: https://codereview.appspot.com/6738047
More classes in the source (ParseTreeVisitor and subclasses)

BUG=Nonoe
TEST=None

Review URL: https://codereview.appspot.com/6736046
Fix unnecessary nested "use strict" in module desugaring.

Strip nested "use strict"
BUG=http://code.google.com/p/traceur-compiler/issues/detail?id=138
TEST=untestable inside the current "use strict" test/testfeatures.js

Review URL: https://codereview.appspot.com/6720051
Patch from Ben Chan <usrbincc@yahoo.com>.
Add src/semantics/util.js which I forgot to add in the last commit.
Refactor to use class syntax for ParseTreeTransformer and subclasses.

BUG=None
TEST=None

Review URL: https://codereview.appspot.com/6742054
Use template strings in the source

BUG=None
TEST=Passes existing test

Review URL: https://codereview.appspot.com/6686046
Fix reportMessageInternal whitespace which broke the tests.
Refactor to export tokens directly from PredefinedName.js

BUG=None
TEST=All tests pass

Review URL: https://codereview.appspot.com/6750044
Use a unique new variable name in destructuring instead of a variable name
based on all the fields being used.

BUG=https://code.google.com/p/traceur-compiler/issues/detail?id=157
TEST=No new tests

Review URL: https://codereview.appspot.com/6744052
Refactor code to use class syntax for the ParseTree classes.

I generated the code for all the class trees using a script.

BUG=None
TEST=Passes all existing tests.

Review URL: https://codereview.appspot.com/6741052
Refactor build/build

Now we pass the files and flags into build.js, making build.js more generic with
the intent of making it replace filecompiler.js.

This depends on commander.js. To install it use

  npm install commander

Move file names to build shell script

BUG=https://code.google.com/p/traceur-compiler/issues/detail?id=142
TEST=No new tests

Review URL: https://codereview.appspot.com/6743060
Fix relative paths for build.js again

BUG=None

Review URL: https://codereview.appspot.com/6736061
Properly handle super in functions nested inside methods.

Remove out-of-date comment since isAssignmentOperator implies "op="

There remains a bug where "use strict" is deactivated by inserted variables.
This will be trivial to fix once my "nested 'use strict'" patch lands.

"super needs to be a gensym"
BUG=http://code.google.com/p/traceur-compiler/issues/detail?id=98
TEST=test/feature/Classes/NestedFunctionSuper.js

Review URL: https://codereview.appspot.com/6718055
Patch from Ben Chan <usrbincc@yahoo.com>.
Add tests for nested super

This is a follow up patch to https://code.google.com/p/traceur-compiler/source/detail?r=6b854a812b1139829827137ae922255694c4e5d5

BUG=http://code.google.com/p/traceur-compiler/issues/detail?id=98
TEST=test/feature/Classes/NestedClassSuper.js
     test/feature/Classes/NestedClassSuperAnimal.js
     test/feature/Classes/NestedFunctionSuper.js

Review URL: https://codereview.appspot.com/6736065
Patch from Ben Chan <usrbincc@yahoo.com>.