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