import 'x' should execute the module

import 'x' is syntactic sugar for import {} from 'x'.
This fixes a bug in the AMD transformer where it did not run in the
correct context. (this needs to be the global according to ES6)

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

Closes #646.
Extend Loader API calls for support name manipulation

New API:
  Loader.import(name, {referrerName, address}, callback, errback).
  Loader.module(source, name, {referrerName, address}, callback, errback).
  Loader.loadAsScript(name, {referrerName, address}, callback, errback).
  Loader.script(source, name, {referrerName, address}, callback, errback).
where only the first argument is required. The triple name, referrerName, address
are passed to System.normalize().

import/module are similar to js-loaders as discussed:
https://github.com/jorendorff/js-loaders/issues/89.
js-loaders 'options' in module() where we have {referrerName, address}; we add it
to import().

loadAsScript/script are parallel but parse to Script goal. These are not part of js-loaders.

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

Closes #645.
Cleanup to make parse Function{Declaration,Expression} share the code.

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

Closes #650.
Rebuild when any .js file in src/ changes.

The build/dep.mk approach to triggering builds requires
approximately 2x more time per build than the build.
In general we do not include any files in src/ that we
do not compile into traceur.
Therefore simply depending upon src/**/*.js will make
builds faster without triggering extra builds

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

Closes #649.
Fix typo in private function name.

parserFuntion_ => parseFunction_

This typo was introduced in 3ca0b20a97138fdc07e3ccb539068833f8bf5aa2
Update Promise to better match spec

Use typeof to check is callable.
Wrap funcitons in try catch to get async exceptions.
Fix Windows build
Build traceur with --referrer names.

Prefix traceur names with traceur@0.0.Y/ then
simulate 'paths' by removing the same prefix in locate().
The first build uses traceur@0.0.X/, the second one
uses traceur@0.0.Y/, so the input and output names are
disjoint.

Prefix calls in test/unit/* to System.get() with 'traceur@0.0.Y/

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

Closes #651.
Normalize path to forward slashes in inline-modules

Fixes #657

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

Closes #659, closes #657.