- Add CompiledRegexRules dataclass for all four processing stages
- Update _compile_regex_rules to support both legacy (pattern/replacement)
and new (search/replace) field names with proper empty string handling
- Add _compile_path_mapping_rules helper function
- Update _write_results to apply post-processing rules:
- local_result.m3u8 with local_post rules
- remote_result.m3u8 with remote_post rules
- base_next.m3u8 unprocessed (normalized sync result)
- Update merge_playlists and _sync_single_playlist to pass compiled_rules
- Update sync_all_playlists to implement full processing flow:
1. Detect REGEX mode from path_mapping config
2. Apply local_pre rules to local playlists before sync
3. Apply remote_pre rules to remote playlists before sync
4. Perform sync/merge
5. Apply post rules to results for respective outputs
Co-authored-by: Koha9 <36852125+Koha9@users.noreply.github.com>