Parse function and variable declarations uniformly, whether they're at teh top level, or inside a method.

This is necessary for incremental parsing correctness, as the incremental parser
will attempt to reuse these types of nodes in both contexts, and we much ensure
it creates the same trees you would get if you were parsing normally.