Improved lookahead for arrow functions.

Fixes issue #34.

Specifically:
    * We no longer automatically assume "()" is a function expression. It must be followed by an arrow, colon, or curly brace.
    * If an arrow is missing following a signature, but a curly brace is present, we assume the user forgot the arrow and try to parse the body anyway.
Covered more cases for arrow functions omitting arrows.

Specifically where we have a full signature followed by an open curly brace.
Track control flow contexts in the parser, and give errors for break, continue, return
Add errors for break and continue statements
Improved "certainty" when parsing arrow-function-lookin' expressions.
Remove inModuleBody
enabled strict mode
Add consumption points and error reporting for labelled statement errors
update check for object literal properties according to ECMA spec
Add tracking for labelled statements, and errors on labelled jumps
added comments
Add interface LabelledStatementInfo
enabled strict mode
update check for object literal properties according to ECMA spec
added comments
updated test baselines
Merge remote-tracking branch 'origin/strict_mode' into strict_mode
Merge pull request #217 from Microsoft/strict_mode

Strict mode support
Fix minor formatting issues
Turn on Code Climate integration