Fix super parsing

Update the parser to match the spec regarding how super is parsed.

The only valid cases for super are:

super.x
super[expr]
super(args)
new super

Fixes #837