Restructure handling of list type extended attributes

This patch does a number of things:

- Drops the [Attr=Some|Other] syntax, in favor of [Attr=(Some,Other)]
  which WebIDL defines, and converts all uses of the former in our IDL
  files. Also drops related grammar overrides from blink_idl_parser.py.

- Simplifies [Conditional] to only support single identifier form, which
  is the only way it's used in current (real) IDL files.

- Adds [Attr="value"] and [Attr=("some","other")] instead of the previous
  [Attr="some"|"other"] syntax, to better match the syntax of identifier
  lists.

- Changes the output from the parser to be Python lists for list type
  attributes, so that the rest of the code doesn't need to do string
  splitting operations. In the case of string literal values means we can
  now handle string literals containing ',' and '|' correctly, should
  that ever become an issue.

None of these changes affect code generation.

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

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