Support nested await ExplodeExpressionTransformer

Fixes #1132
Fixup runner.html for the FreeVariableChecker.generated.js change

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

Closes #1201.
Map polyfill: Only add the iterator to values() if available.

Only add the [Symbol.iterator] to the result of new Map().entries()
if entries is available in the browser.

The problem is that IE11 and old V8 with --harmony have Map but no
iterators.

Fixes #1203
Reimplement options as es6 class CompileOptions.

CommandOptions extend CompileOptions with commander-specific
features.
Add tests for CompileOptions and CommandOptions.
Our current approach to options passes global values through module instance variables
combined with passing them as arguments. Chaos ensues. We need to pick one of these three.
Passing arguments from the API provides the most control and flexibility. We may continue
to use the global deeper in the call stack, after we are below the API calls.

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

Closes #1202.
Followup: Rename CompileOptions.js -> Options.js

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

Closes #1206.
Rename functionBody to body

Fixes #1187
Merge branch 'gh-pages' of github.com:google/traceur-compiler into gh-pages
Manual update