* Define the nested version of ParseNodes structs explicitly.
Passes test:jest, but fails test:flow.
* Fix additional type errors reported by flow.
* Migrate rebased code from master.
* Rename ParseNode.js to parseNode.js.
* Update defineEnvironment output type to fix the flow errors in environment/array.js.
* Change buildCommon.makeVList params to struct for better type-safety.
This is towards #939.
The expected structure of the makeVList params depends on the `positionType`
parameter. To allow this to be strictly-typed using flow, this PR combines the
co-related parameters into a single struct.
* Add type for makeVList param in comments for documentation.