Updates to work with esprima PR287

Disclaimer: This PR does not brings all syntax from esprima#harmony just yet, just fix the previous supported syntax to pass tests.
this was the tricky part, a class or function hoisting when using:

```
export default function foo () {}
```