feat: custom Markdown extensions for partition_md (#4292)
## Summary
Closes #4006
- Adds support for custom Markdown `extensions` when calling
`partition_md`, defaulting to `["tables"]` for backward compatibility.
- Invalid `extensions` values log a warning and fall back to
`["tables"]`.
## Motivation
Fixes incorrect parsing when fenced code blocks contain `#` lines
(treated as headings without `fenced_code`).
## How to use
```python
from unstructured.partition.md import partition_md
elements = partition_md(text=md, extensions=["fenced_code"])