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.
@gabelevi `export default function () {}` is the most basic and common structure we have in ES6 modules, it is covered by the specs, where `export default...` allow you to use either a function express or function declaration, and the same applies to classes.