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.
Improved "certainty" when parsing arrow-function-lookin' expressions.
Addressed code review feedback.
Merge branch 'master' into arrowLookAhead
Merge pull request #203 from Microsoft/arrowLookAhead

Improved lookahead for arrow functions.