Bug 852762 - Arrow functions are not automatically strict. Also fixes bug 885067. r=ejpbruel.

--HG--
extra : rebase_source : efecf75eaa57839d9096b9da307784e7b2e16e31
Bug 883333, part 1 - Add ParseHandler protocol methods for EmptyStatement, ExpressionStatement, ReturnStatement, and ThrowStatement. r=Waldo.

The changes to ExpressionStatement cause the position information on expression statements to include the semicolon, if any, which made a slight change to FullParseHandler::isStringExprStatement necessary.

Change Parser::letBlock(LetStatement) to parse a full statement, even if it turns out to be an ExpressionStatement where the expression is a LetExpression, rather than a 'let (V) STMT' block statement.

Remove remaining traces of TOK_LEXICALSCOPE -- there was never any such token.

--HG--
extra : rebase_source : 16c0f6aaafd4b9c51bf7221da79fe74affe5b464
Bug 883333, part 2 - Rearrange statement parsers to the order they appear in the ES6 draft. r=Waldo.

--HG--
extra : rebase_source : cb0f15ae7d085a95879e26a52102ac1d1ed16c60
Bug 883333, part 3 - Refactor if statement parsing. r=Waldo.

--HG--
extra : rebase_source : 05270363351db33936c9d25675ce4903f3a0b5bd
Bug 883333, part 4 - Refactor while and do-while statement parsing. r=Waldo.

--HG--
extra : rebase_source : 26dd5b2425fdc9216c47d679877490f8d1432bd4
Bug 883333, part 5 - Refactor for-loop and switch statement parsing. r=Waldo.

--HG--
extra : rebase_source : dac8df05c474a7894ca90e7839feb92a030508da
Bug 883333, part 6 - Further forStatement cleanup. r=Waldo.

--HG--
extra : rebase_source : 214f8fd2cb253e66462d5fd66dd86353acfdc94f
Bug 883333, part 7 - Refactor break and continue statement parsing. r=Waldo.

--HG--
extra : rebase_source : ec0914d23d10e5818fe1700e495c6c7e100ec72a
Bug 883333, part 8 - Refactor return statement parsing. r=Waldo.

--HG--
extra : rebase_source : 16d37a715e01e732126d303c3ef2cfb84f7c1ad3
Bug 883333, part 9 - Refactor with statement parsing. r=Waldo.

--HG--
extra : rebase_source : 1c4235922067f39dc8bce42099a1f330e7b444ab
Bug 883333, part 10 - Refactor throw statement parsing. r=Waldo.

--HG--
extra : rebase_source : 0ace9a0daabe0df4151dcf2a0ade7890aee6a4c1
Bug 883333, part 11 - Refactor debugger statement parsing. r=Waldo.

--HG--
extra : rebase_source : f39ad2d7cadc43d2706556933fdc5311bd262bb2
Bug 883333, part 12 - Factor block parsing out of Parser::statement. r=Waldo.

--HG--
extra : rebase_source : 1af9d3df561cb5d9bc2c16c77451d070f48bccf4
Bug 883333, part 13 - Squeeze out some whitespace. r=Waldo.

--HG--
extra : rebase_source : db2125c3c3b8b390b4b6f6fb7b768145a14aa118
Bug 883333, part 14 - Move try statement parse node creation into the ParseHandler protocol. r=Waldo.

--HG--
extra : rebase_source : 073de5e62343593de0acd619900a62b20a870d67
Bug 883333, part 15 - Add StatementList operations to the ParseHandler protocol. r=Waldo.

--HG--
extra : rebase_source : d5e801fcd5c2f53bcc670534c53502c4219d176d
Bug 883434 - Give TokenPos a real constructor. r=ejpbruel.

--HG--
extra : rebase_source : 4820e91d38810d03dff3c0bddaea104f53e7c12c