Use variable argument macro for MATCH

Simplified syntax for MATCH expressions.  Now its

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

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