Refactor InternalLoader to use promises

Refactor InternalLoader to use promises instead of ad-hoc listener interface.

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

Closes #756.
Implement --script command line option to parse as Script.

Option --script followed by name of a file to be parsed as Script.
Default changed: now files are parsed as Module.
Test changes to verify values via globlals (modules have no value).
Module compilation simulates System.import() but post-pending
 System.get(normalizedName) to the output.

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

Closes #760.
Update version to 0.0.21

I should have updated the semver in the previous commit. Now I will have to do it twice.

TBR=@arv

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

Closes #761.
Propagate --script to first self-hosting build.

Update semver to 0.0.22

TBR=@arv

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

Closes #762.
Verify that Object.getPrototypeOf(module) is null

Fixes #763

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

Closes #767, closes #763.
AMD link-level flag for define function