Re-use code to parse "fat arrow" function params

Prior to this commit, JSHint parsed "fat arrow" function parameters as
though they were expressions in a list. This had unintended side-effects
relating to:

1. the scope of the declared variables. This problem was only partially
   addressed through manual modification of the data structure for
   global variables.
2. the syntax accepted within the arguments list. Most significantly,
   "default parameters" expressions were misinterpreted.

By re-using the `doFunction` function, the same logic can be used when
parsing parameters of both "traditional" functions and "fat arrow
functions".

This change requires supplying additional context to `doFunction`
because the parser may have already consumed certain tokens depending on
the form of the expression.

Fixes gh-1983