【問題】 以下の仕様のmatchを作れ。
(match kwd-list pattern expr)

(match '(a b c) '((a) b . c) '((1 2) (3 4) (5 6) (7 8)))
=> #f ; aが一致しない

(match '(a b c) '(a b . c) '((1 2) (3 4) (5 6) (7 8)))
=> ((a (1 2)) (b (3 4)) (c ((5 6) ( 7 8))))

(match '(a b c) '((1 2) a b . c) '((1 2) (3 4) (5 6) (7 8)))
=> ((a (3 4)) (b (5 6)) (c ( 7 8))))