Edit a cell in a Jupyter notebook (.ipynb file).

Arguments:
- path: Path to the .ipynb file
- cell_index: Cell index to edit (0-based)
- new_source: New source content for the cell
- cell_type: "code" or "markdown" (default: "code")
