Fix issue related to the cover initialised name production

Adds support for the cover grammar for `{a = 42}` which is needed in case the object literal is going to be used as a pattern.

We keep track of the cover grammar parse tree, as well as the depth of the assignment expression. When we unwind all the assignment expressions we check if there was a CoverInitialisedName and report an error as needed.

Fixes #350

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

Closes #351, closes #350.