Fix bug in detection of unreachable statements

Ensure that when braceless block bodies contain braceless block bodies
(as is possible when the single statement has a function expression),
the parser correctly differentiates between branches when detecting
unreachable statements.

Achieve this by using a token decorator attribute (which is local to the
statement) instead of a global variable (which cannot account for
nesting).

Resolves GH-1387