Extract class Matching, extends Set
Improves encapsulation by moving method `assert_valid`
Extracts method `Matching#augment`
Removes unused data structure `mark_t`
Extracts module `Explainable`
Removes training wheels (`MAX_STAGES`)
Extracts private method `backtrack_from`
Renames `debug` to `log`
Improves encapsulation by moving method: `matched?`
Extracts private method: `unmatched_adjacent_to`
Extracts private method: `unmatched_unlabled_adjacent_to`
Extracts private method: `matched_adjacent_to`
Removes unnecessary temporary variable
Improves readability
Extracts recursive method `mcm_stage`
Extracts class `LabelSet`
Trimming a few lines here and there
Extracts `vertices_adjacent_to` to improve readability