polish(ast): prefer undefined over empty arrays (#4206)
see:
https://github.com/graphql/graphql-js/pull/2405#issuecomment-579077133
Manually created ASTs always allowed undefined in place of empty arrays;
this change simply updates the parser to more closely follow the manual
approach. This is therefore not technically a breaking change, but
considering that there may be tools not aware of this, we have labelled
it a BREAKING_CHANGE to highlight it for consumers.
This closes #2203 as our tests now cover the undefined case by default
whenever there is an empty array.