More Babel fixes. Fix Arrow function variable hositing
- Mark ArrowFunctionExpression containing a BlockStatement as having a scope (it does in Chrome 46) to constrain hoisting of variables declared inside Arrow Functions
- Correct 'return undefined' suppression in object/class methods (as well as normal functions)
- Numerous fixes to make Babel-style Object/ClassMethod play nicely with the ESTree Property & MethodDefinition (v2.3.1-2.3.3)