Add two keyword-only parameters to `humanize.natural_list` (src/humanize/lists.py):

- `conjunction: str = "and"`: the word placed before the last item. `natural_list(["a", "b", "c"], conjunction="or")` returns `"a, b or c"`.
- `max_items: int | None = None`: when set and the iterable has more than `max_items` items, keep the first `max_items` items and replace the rest with "N more", joined with the conjunction. `natural_list(["a", "b", "c", "d"], max_items=2)` returns `"a, b and 2 more"`; `natural_list(["a", "b", "c", "d"], max_items=1)` returns `"a and 3 more"`. When the iterable has `max_items` items or fewer, the output is the same as without the parameter.
- `max_items` lower than 1 raises `ValueError`.
- The default behavior must not change. Update the docstring (with examples) and add tests.

The project virtualenv is ready in .venv: run the tests with `.venv/bin/python -m pytest -q`. Work only inside this repository. Do not commit.
