Generator Comprehension

This adds support for generator comprehensions which is alternative syntax for
creating generators. For example:

var iter = (x for x in [0, 1, 2, 3, 4] if (x % 2));

BUG=https://code.google.com/p/traceur-compiler/issues/detail?id=103
TEST=feature/GeneratorComprehension/*

Review URL: https://codereview.appspot.com/6298072
Revert "Add support for concise function bodies."

This reverts commit 2081b7a9a853db71534db8f1d104c8600a2ee785.
Fix two small issues related to the ModuleRequire visitor and writer
Array Comprehensions

This adds support for array comprehensions which allows creating an array
from an iterator greedily. For example:

var array = [x for x in range(0, 10) if x % 2];

BUG=https://code.google.com/p/traceur-compiler/issues/detail?id=31
TEST=feature/ArrayComprehension/*

Review URL: https://codereview.appspot.com/6296081
Repl: Clear source map output so that it is removed when the stourceMap option is set to false.
Repl: Store the content in the URL fragment

This allows linking to samples which is always nice ;-)

BUG=None
TEST=None

Review URL: https://codereview.appspot.com/6324043
Fix bug in source map where we did not use the correct file in the map.

We should always use the file of the current token/tree in the sources part and
not the output file name.

BUG=None
TEST=test/unit/codegeneration/source_map_test.html

Review URL: https://codereview.appspot.com/6329055
Simplify output of default quasis.

We now generate something as simple as:

`a${ b }c${ 1 + 2 }${ 3 * 4 }`

=>

("a" + b + "c" + (1 + 2) + 3 * 4)

This removes the call to traceur.runtime.defaultQuasi. It also removes empty
strings and correctly wraps expressions in parens as needed.

This patch also fixes a bug where comma expression in the substitution was not
working because it was not wrapped in a paren expression.

BUG=https://code.google.com/p/traceur-compiler/issues/detail?id=107
TEST=test/feature/QausiLiteral/*

Review URL: https://codereview.appspot.com/6352043
Fix issue with arguments in generators

Alpha rename arguments to $arguments.

Since we already rename this to $that there is no point in the bind call.

BUG=https://code.google.com/p/traceur-compiler/issues/detail?id=106
TEST=test/feature/Yield/Arguments.js
     test/feature/Yield/DefaultArguments.js
     test/feature/Yield/This.js

Review URL: https://codereview.appspot.com/6337054
Don't use receiver in options reset
Fix options reset again
Align Quasi literals with ES6 draft

This changes the parser accordingly:

PrimaryExpression :
  QuasiLiteral

MemberExpression :
  MemberExpression QuasiLiteral

CallExpression :
  CallExpression QuasiLiteral

BUG=https://code.google.com/p/traceur-compiler/issues/detail?id=112
TEST=test/feature/QuasiLiterals/*

Review URL: https://codereview.appspot.com/6343092
Make the quasi callsite object an array.

Now we create an array with the cooked strings. This array has one extra
property, raw, which is an array with the raw strings.

BUG=https://code.google.com/p/traceur-compiler/issues/detail?id=112
TEST=test/feature/QuasiLiterals/*

Review URL: https://codereview.appspot.com/6344098
Fix bug in empty default quasi

This regressed in https://code.google.com/p/traceur-compiler/source/detail?r=79870dfb74b5e934779375fabd23637440cdf5a6

I also plummed through the location for the quasi parts.

BUG=https://code.google.com/p/traceur-compiler/issues/detail?id=113
TEST=Added one more test to test/feature/QuasiLiterals/Default.js.

Review URL: https://codereview.appspot.com/6346089
Implement the standard function String.raw

BUG=https://code.google.com/p/traceur-compiler/issues/detail?id=112
TEST=test/feature/QuasiLiterals/StringRaw.js

Review URL: https://codereview.appspot.com/6343094
Do not allow $ident in quasi literals

The ES6 draft only allows ${ident} and not $ident inside quasi literals.

BUG=https://code.google.com/p/traceur-compiler/issues/detail?id=112
TEST=test/feature/QuasiLiterals/*

Review URL: https://codereview.appspot.com/6423049
Adds a build script, checks in a built copy, and updates the command line traceur.js to work with it all.

BUG=None
TEST=None

Review URL: https://codereview.appspot.com/6441043
Merge remote-tracking branch 'upstream/master'