Destructuring: The initializer must be an object.

The following should throw a TypeError:

```js
var {x} = 1;
```

since `1` is not an Object.

This is done by wrapping the initializer in a runtime call, called
`$traceurRuntime.assertObject`

Fixes #839
Merge pull request #927 from arv/destructuring-assert-object

Destructuring: The initializer must be an object.
Add PureES6Transformer

Add "outputLanguage" option to the Node.js API.
By the default, it's set to "es5".
When set to "es6", the PureES6Transformer will be used.
Merge pull request #922 from vojtajina/add-es6-pure-transformer

Add es6 pure transformer
Add a reminder not to move bin/traceur-runtime.js.

Fixes #828.
TBR

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

Closes #939, closes #828.
+ basic support for Map

* more careful Map constructor

* clear is not calling from constructor
* set returns this
+ lookupIndex that returns index in entries_ by key
* code style
* getOwnHashObject is not IIFE now
+ tests for NaN and positive and negative zeros
- test for creating Map with another map as argument, due to Map is not support @@iterable now

* single check for reentrantly initialising

* 0, -0
Async Functions: Fix implicit return as well as rethrowing

The async function should complete with undefined if there is no
return. It should also lead to a rejected promise if there is an
uncaught exception.

Fixes #933
WebPageTranscoder cannot pass name as argument.

(Caught by recent destructuring check.)

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

Closes #945.
Report file not found as 'File not found'

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

Closes #946.
Upgrade CodeMirror to v4

This allows multiple selections which are awesome.

Enable the sublime keymap. Based on demo at
http://codemirror.net/demo/sublime.html
Merge pull request #944 from arv/code-mirror-4

Upgrade CodeMirror to v4
0.0.34
Impl TraceurLoader.importAll, loadAsScriptAll.

importAll(array-of-names) promises array of modules.
loadAsScriptAll(array-of-names) promises array of script evaluation results.

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

Closes #949.
Update Object.assign signature. Fixes gh-954

Updates Object.assign to accept an arbitrary number of source objects whose own, enumerable property names and corresponding values are copied to the target. (Per April 9 TC39 consensus)

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
Avoid reassing module.exports on CommonJS modules

Replaced `module.exports = {...}` with `Object.defineProperties`.

Fixes #947