Fix the repl link in the README

Fixes issue #692

TBR=@arv

Review URL: https://github.com/google/traceur-compiler/pull/693

Closes #693.
Add module-local variable binding __moduleName = normalizedName

Remove .js from test input URLs.
Add test for __moduleName;
Adjust tests for AMD and commonjs, they now see __moduleName.

Fixes issue #694

Review URL: https://github.com/google/traceur-compiler/pull/695

Closes #695.
Fix infinite loop when regexp ends on line

Fixes issue #696

Review URL: https://github.com/google/traceur-compiler/pull/697

Closes #697.
Fix __moduleName tests on Windows.

The path normalization was done before calling into Node's
path.resolve which returns back slashes.

Review URL: https://github.com/google/traceur-compiler/pull/700

Closes #700.
Loader.module() should resolve to a module

Review URL: https://github.com/google/traceur-compiler/pull/698

Closes #698.
Update semver to 0.0.15 and publish.

This needs be the last step in normal workflow.
TBR=@arv

Review URL: https://github.com/google/traceur-compiler/pull/703

Closes #703.
Add tests for side effects for import {} from name

Expanded test for #701

Review URL: https://github.com/google/traceur-compiler/pull/705

Closes #705.
Fix typo in comment
Build traceur-runtime.js with package name traceur-runtime.

Fixes #701, Polyfills not included in bin/traceur-runtime.js.
Distinct package name ensures that, while compiling the runtime, we won't mix
input files with traceur modules precompiled in the compiler.
Add test for bin/traceur-runtime.js including polyfill module.
Fix up System object initialization to allow browser test/runtime.html to run.

Review URL: https://github.com/google/traceur-compiler/pull/706

Closes #706, closes #701.
Generator use try stack runtime

By using a stack to keep track of try/catch/finally we can move a lot of logic from the generated code to a runtime function. This allows the codegen to become significantly smaller.

```js
function* f() {
  try {
    yield 1;
  } catch (ex) {
    yield ex;
  }
}
```

Before:
```js
function f() {
  var ex;
  var $that = this,
      $arguments = arguments,
      innerFunction = function($ctx) {
        while (true) switch ($ctx.state) {
          case 0:
            $ctx.state = 2;
            return 1;
          case 2:
            if ($ctx.action == 1) {
              $ctx.action = 0;
              throw $ctx.sent;
            }
            $ctx.state = 4;
            break;
          case 9:
            ex = $ctx.storedException;
            $ctx.state = 5;
            break;
          case 5:
            $ctx.state = 6;
            return ex;
          case 6:
            if ($ctx.action == 1) {
              $ctx.action = 0;
              throw $ctx.sent;
            }
            $ctx.state = 4;
            break;
          case 4:
            $ctx.state = -2;
          case -2:
            return $ctx;
          case -3:
            throw $ctx.storedException;
          default:
            throw "traceur compiler bug: invalid state in state machine: " + $ctx.state;
        }
      },
      moveNext = function($ctx) {
        while (true) {
          try {
            return innerFunction($ctx);
          } catch (ex) {
            $ctx.storedException = ex;
            switch ($ctx.state) {
              case 2:
                $ctx.state = 9;
                break;
              default:
                $ctx.GState = 3;
                $ctx.state = -2;
                throw $ctx.storedException;
            }
          }
        }
      };
  return $traceurRuntime.generatorWrap(moveNext);
}
```

After:
```js
function f() {
  var ex;
  var $that = this,
      $arguments = arguments;
  return $traceurRuntime.generatorWrap(function($ctx) {
    while (true) switch ($ctx.state) {
      case 0:
        $ctx.pushTry(9, null);
        $ctx.state = 12;
        break;
      case 12:
        $ctx.state = 2;
        return 1;
      case 2:
        if ($ctx.action == 1) {
          $ctx.action = 0;
          throw $ctx.sent;
        }
        $ctx.state = 4;
        break;
      case 4:
        $ctx.popTry();
        $ctx.state = 14;
        break;
      case 9:
        $ctx.popTry();
        ex = $ctx.storedException;
        $ctx.state = 5;
        break;
      case 5:
        $ctx.state = 6;
        return ex;
      case 6:
        if ($ctx.action == 1) {
          $ctx.action = 0;
          throw $ctx.sent;
        }
        $ctx.state = 14;
        break;
      case 14:
        $ctx.state = -2;
      case -2:
        return $ctx;
      case -3:
        throw $ctx.storedException;
      default:
        throw "traceur compiler bug: invalid state in state machine: " + $ctx.state;
    }
  });
}
```

Review URL: https://github.com/google/traceur-compiler/pull/699

Closes #699.
Separate std and non-std Loader functions.

Std Loader in Loader; extensions in TraceurLoader.
System now instance of TraceurLoader.

Review URL: https://github.com/google/traceur-compiler/pull/704

Closes #704.
Rename traceur.modules.Loader to traceur.runtime.Loader.

One missed from last commit. Fixes #708

TBR=@arv

Review URL: https://github.com/google/traceur-compiler/pull/711

Closes #711, closes #708.
Use System.import in repl.html

Fixes #708

Review URL: https://github.com/google/traceur-compiler/pull/712

Closes #712, closes #708.
Refactor generator runtime generatorWrap to reduce code duplication

Review URL: https://github.com/google/traceur-compiler/pull/717

Closes #717.
Loader prototype module

Loader.prototype.module no longer takes a name param and we do not register the module in the module registry.

With the old code we got the completion value out of `module` but not any more. The value out was a Module which cannot be toString'ed so I remove the result from the repl.

Also, while I was fixing the repl I fixed a few repl bugs that have been piling up.

Fixes #710
Fixes #713
Fixes #634

Review URL: https://github.com/google/traceur-compiler/pull/716

Closes #716, closes #710, closes #713, closes #634.
Clean up generator code further

- Pass `this` into runtime function so that the function is called with the right context. Removes the need for `$that = this`
- Use an alpha renamer for `arguments` and detect if `arguments` was present.
- Move shared code to super class.
- Remove unused imports.

Review URL: https://api.github.com/repos/google/traceur-compiler/issues/719

Closes #719.
Generator collapse end state

We used to always output

```js
case 4:
  $ctx.state = END_STATE;
case END_STATE:
  ...
```

Now we skip the state before the END_STATE.

Review URL: https://api.github.com/repos/google/traceur-compiler/issues/720

Closes #720.