Fix ES6 export parsing

It deviated from the current [ES6 draft spec](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-exports) in a few ways:

`export default class A {};` - the class in question is a class expression
`export default function () {}` - this is not allowed
`export {};` and `export {} from "foo";` - these should be allowed

Also it was kind of weird how esprima was setting the specifiers field on `export default function foo() {}` to include `"foo"`. Now the specifiers are exclusively whatever is in the `{...}` ExportClause of the export.
So from the current version of the [ES6 draft](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-exports):

    export default HoistableDeclaration[Default]
    export default [lookahead ≠ function ] AssignmentExpression[In] ;

This grammar doesn't support `export default`'ing a function expression