Extract splits content into frontmatter (including delimiters) and body.
When no valid frontmatter exists, fm is empty and body is the full content (BOM-stripped).
Strip removes YAML frontmatter from markdown content.
Frontmatter must start at byte 0 (after optional UTF-8 BOM) with "---\n" or "---\r\n".
If no valid closing delimiter is found, content is returned unchanged.