Reverse the records in data separated by a single byte separator and write to out.
If before is true, the separator is attached before the record instead of after.
Uses vectored I/O (writev) to write directly from mmap’d data — zero intermediate copies.
Reverse records using a regex separator.
Uses regex::bytes for direct byte-level matching (no UTF-8 conversion needed).
NOTE: GNU tac uses POSIX Basic Regular Expressions (BRE), so we convert to ERE first.
Uses backward scanning to match GNU tac’s re_search behavior.