Use variable argument macro for MATCH

Simplified syntax for MATCH expressions.  Now its

  (MATCH X
    (CASE ...)
    (CASE ...)
    ...
    (CASE ...))

instead of

  (MATCH X (
    (CASE ...)
    ...
    (CASE ...)))

Note the absense of the extra set of parentheses around the list of CASE
expressions.