Rollup merge of #63490 - Centril:cleanup-pat-parser, r=petrochenkov
Rollup merge of #63490 - Centril:cleanup-pat-parser, r=petrochenkov

libsyntax: cleanup and refactor `pat.rs`

A smaller refactoring & cleanup of `pat.rs` (best read commit by commit).

r? @petrochenkov

graydon/rust,graydon/rust,graydon/rust,graydon/rust,graydon/rust,aidancully/rust,aidancully/rust,aidancully/rust,aidancully/rust,aidancully/rust,graydon/rust,aidancully/rust