Eats as many case clauses and possible (zero or more).
(parse-*-case-clause tokens) → (mv result-asts tokens-after-clauses)
Although the syntax diagram for 'switch' shows one-or-more case clauses in the first alternative, the second alternative shows zero case clauses, so we combine those into this single function that parses zero-or-more clauses.