IDL: Use IdlArrayOrSequenceType for array/sequence IDL types

Representing array and sequence types this way, rather than via auxiliary
flags on the member type, means exotic types like array-of-arrays,
array-of-sequences, arrays-of-nullables and similar can be supported.

More importantly, this also means that an array or sequence type can't be
mistaken for its member type if you forget to check the "is array" and
"is sequence" flags, and thus lets us remove a bunch of "is this an array
or sequence type" checks from code that has nothing to do with supporting
arrays or sequences.

This patch doesn't change code generation.

Review URL: https://codereview.chromium.org/470063003

git-svn-id: svn://svn.chromium.org/blink/trunk@180298 bbb929c8-8fbe-4397-9dbb-9b2b20218538